Information processing apparatus and non-transitory computer readable medium

ABSTRACT

An information processing apparatus includes a controller that displays conversation contents of a plurality of conversation groups making a conversation with a user, on the same screen.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based on and claims priority under 35 USC 119 fromJapanese Patent Application No. 2017-219080 filed Nov. 14, 2017.

BACKGROUND Technical Field

The present invention relates to an information processing apparatus anda non-transitory computer readable medium.

SUMMARY

According to an aspect of the invention, an information processingapparatus includes a controller that displays conversation contents of aplurality of conversation groups making a conversation with a user, onthe same screen.

BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiment(s) of the present invention will be described indetail based on the following figures, wherein:

FIG. 1 is a block diagram illustrating the configuration of aninformation processing system according to a first exemplary embodimentof the present invention;

FIG. 2 is a block diagram illustrating the configuration of a terminaldevice;

FIG. 3 is a block diagram illustrating the configuration of a server;

FIG. 4 is a view illustrating a screen;

FIG. 5 is a view illustrating a screen;

FIG. 6 is a view illustrating a screen;

FIG. 7 is a view illustrating a screen;

FIG. 8 is a view illustrating a screen;

FIG. 9 is a view illustrating a screen;

FIG. 10 is a view illustrating a screen;

FIG. 11 is a view illustrating a screen;

FIG. 12 is a view illustrating a screen;

FIG. 13 is a view illustrating a screen;

FIG. 14 is a view illustrating a screen;

FIG. 15 is a view illustrating a screen;

FIG. 16 is a view illustrating a screen;

FIG. 17 is a view illustrating a screen;

FIG. 18 is a view illustrating a screen;

FIG. 19 is a view illustrating a screen;

FIG. 20 is a view illustrating a screen;

FIG. 21 is a view illustrating a screen;

FIG. 22 is a view illustrating a screen;

FIG. 23 is a view illustrating a screen;

FIG. 24 is a view illustrating a screen;

FIG. 25 is a view illustrating a screen;

FIG. 26 is a view illustrating a screen;

FIG. 27 is a view illustrating a screen;

FIG. 28 is a view illustrating a screen;

FIG. 29 is a view illustrating a screen;

FIG. 30 is a view illustrating a screen;

FIG. 31 is a view illustrating a screen;

FIG. 32 is a view illustrating a screen;

FIG. 33 is a view illustrating a screen;

FIG. 34 is a view illustrating a screen;

FIG. 35 is a view illustrating a screen;

FIG. 36 is a view illustrating a screen; and

FIG. 37 is a view illustrating a screen.

DETAILED DESCRIPTION First Exemplary Embodiment

Hereinafter, an information processing system according to a firstexemplary embodiment of the present invention will be described withreference to FIG. 1. FIG. 1 illustrates an example of an informationprocessing system according to the first exemplary embodiment.

The information processing system according to the first exemplaryembodiment includes plural terminal devices 10 and a server 12 as anexample. For example, each terminal device 10 and the server 12 have afunction of communicating with other devices via a communication path Nsuch as the Internet. The terminal device 10 and the server 12 maycommunicate with other devices via different communication paths as wellor may directly communicate with other devices without using thecommunication path N. In the example illustrated in FIG. 1, threeterminal devices 10 are provided in the information processing system,but fewer or more terminal devices 10 may be provided in the informationprocessing system.

The terminal device 10 is a device such as a personal computer (PC), atablet PC, a smartphone, a mobile phone or the like, and has a functionof exchanging data with other devices. The terminal device 10 may be awearable terminal (a wristwatch type terminal, a wristband typeterminal, a spectacle type terminal, a ring type terminal, a contactlens type terminal, an intracorporeal embedded terminal, a hearableterminal, etc.). Further, the terminal device 10 may have a flexibledisplay as a display device. Examples of the flexible display include anorganic electroluminescence type display (flexible organic EL display),an electronic paper type display, and a flexible liquid crystal display.Flexible displays employing other display modes may be used. Theflexible display is a display with a flexibly-deformable display portionwhich can be, for example, bent, folded, rolled, twisted or stretched.The terminal device 10 may be entirely implemented by a flexible displayor may be implemented by a flexible display and other components whichare functionally or physically separated from each other.

The server 12 is a device for managing data and user information. Forexample, the server 12 has a function of offering a social networkingservice (SNS) to a user. The terminal device 10 can use the SNS offeredby the server 12 to exchange information (for example, a characterstring, a still image, a moving image, a voice, etc.) with anotherterminal device 10 using the SNS. In the SNS, conversation (exchange ofinformation) can be made on a conversation group basis and the server 12manages the conversation in each conversation group. One or plural users(also referred to as speakers) can participate in each conversationgroup, and information can be exchanged among plural user terminaldevices 10 that belong to the same conversation group. For example, whenplural users log in to the same conversation group, information isexchanged among the plural user terminal devices 10.

Hereinafter, the configuration of the terminal device 10 will bedescribed in detail with reference to FIG. 2.

A communication unit 14 is a communication interface and has a functionof transmitting data to other devices and a function of receiving datafrom other devices. The communication unit 14 may be either acommunication interface having a wireless communication function or acommunication interface having a wired communication function. Forexample, the communication unit 14 conforms to one or plural types ofcommunication methods and may communicate with a communication partneraccording to a communication method suitable for the communicationpartner (that is, a communication method supported by the communicationpartner). The communication method is, for example, infraredcommunication, visible light communication, Wi-Fi® communication, closeproximity wireless communication (for example, NFC (Near FieldCommunication), etc.), or the like. As the close proximity wirelesscommunication, Felica®, Bluetooth®, RFID (Radio Frequency Identifier)and the like are used. Other types of wireless communication may be usedas well as the close proximity wireless communication. The communicationunit 14 may switch the communication method or the frequency banddepending on a communication partner or the surrounding environments.

A UI unit 16 is a user interface unit and includes a display unit and anoperation unit. The display unit is a display device such as a liquidcrystal display. The display unit may be a flexible display. Theoperation unit is an input device such as a touch panel or a keyboard.The UI unit 16 may be a user interface that also serves as a displayunit and an operation unit (including, for example, a touch typedisplay, a device that electronically displays a keyboard or the like ona display). Further, the UI unit 16 may include a sound collecting unitsuch as a microphone and a sound generating unit such as a speaker. Inthis case, information may be input to the terminal device 10 by voiceinput or may be issued by voice.

A memory 18 is a storage device such as a hard disk or a memory (forexample, SSD, etc.). The memory 18 stores, for example, various data,various programs (for example, OS (Operating System), variousapplication programs (application software), etc.), informationindicating addresses of other terminal devices 10 (terminal addressinformation), information indicating an address of the server 12 (serveraddress information), and the like. They may be stored in separatestorage devices or may be stored in one storage device. For example,when an SNS application program for utilizing the SNS offered by theserver 12 is stored in the memory 18 and the SNS application program isexecuted, the SNS can be used. In addition, information transmittedand/or received by the terminal device 10 using the SNS may be stored inthe memory 18.

A detection unit 20 has a function of detecting an operation of a user.The operation by the user is, for example, gesture motion, voice or thelike of the user. The gesture motion may include, for example, fingermovement, hand movement, arm movement, neck movement, foot movement,eyeball movement, eyelid movement, upper body movement, lower bodymovement, whole body movement, expression change, mouth movement and thelike of the user. For example, the detection unit 20 uses a sensor todetect the user's operation. As the sensor, for example, a sensor fordetecting physical contact with the display unit of the UI unit 16 isused. As such a sensor, for example, a pressure sensor for detecting apressure on the display unit, a capacitance sensor for detecting achange in capacitance, a temperature sensor for detecting a change intemperature due to contact, a humidity sensor for detecting a change inhumidity are used. A camera may be also used as the sensor. The cameramay be used to detect physical contact with the display unit or theoperation by the user not physically contacting the display unit. When aflexible display is used as the display unit, a pressure sensor, anacceleration sensor, a gyroscope sensor or the like is used as thesensor, and the detection unit 20 may detect a change in bending of theflexible display, a change in pressure, a change in capacitance, achange in optical characteristics, temperature, humidity, acceleration,direction, etc. In addition, the operation of the user may be detectedby an external sensor installed in a location or a device other than theterminal device 10. In this case, information indicating a result of thedetection is transmitted from the sensor to the terminal device 10, anda controller 22 receives the information. When the external sensor isused, the terminal device 10 may not have a sensor. Further, a soundcollecting device such as a microphone may be used as the sensor, andthe detection unit 20 may detect the user's voice.

The controller 22 has a function of controlling the operation of eachunit of the terminal device 10. For example, the controller 22 executesvarious programs, controls communication by the communication unit 14,controls information notification (for example, display and voiceoutput) using the UI unit 16, receives information input by using the UIunit 16, etc. For example, when the controller 22 executes the SNSapplication program, it becomes possible to use the SNS offered by theserver 12. Further, the controller 22 includes a display controller 24.

The display controller 24 has a function of controlling display ofvarious kinds of information. For example, when the SNS is used, thedisplay controller 24 causes the display unit of the UI unit 16 todisplay the information (character strings, images, etc.) transmitted orreceived using the SNS. Voice information transmitted or received usingthe SNS may be output from a speaker or the like. When the user performsan operation for changing the current conversation partner in the SNS toanother conversation partner and the detection unit 20 detects theoperation, the display controller 24 changes a screen displayed on thedisplay unit to a screen for making a conversation with the otherconversation partner. The process by the display controller 24 will bedescribed in detail later.

Hereinafter, the configuration of the server 12 will be described indetail with reference to FIG. 3. FIG. 3 illustrates the configuration ofthe server 12.

A communication unit 26 is a communication interface and has a functionof transmitting data to other devices and a function of receiving datafrom other devices. The communication unit 26 may be either acommunication interface having a wireless communication function or acommunication interface having a wired communication function.

A memory 28 is a storage device such as a hard disk or a memory (forexample, SSD, etc.). For example, various kinds of data, various kindsof programs, terminal address information of the terminal device 10,server address information of the server 12, and the like are stored inthe memory 28. They may be stored in separate storage devices as well ormay be stored in one storage device. For example, informationtransmitted by the terminal device 10 using the SNS may be stored in thememory 28.

A controller 30 controls the operation of each unit of the server 12.For example, the controller 30 controls communication by thecommunication unit 26. Further, the controller 30 includes a serviceprovision unit 32.

The service provision unit 32 has a function of providing an SNS to theterminal device 10. For example, the service provision unit 32 transmitsinformation (e.g., character strings, images, sound information, etc.),which is sent from the terminal device 10 to the server 12 using theSNS, to another terminal device 10 using the SNS. Further, the serviceprovision unit 32 has a function of controlling conversation(information exchange) on a conversation group basis. Specifically, theservice provision unit 32 controls information exchange among terminaldevices 10 of plural users who log in to the same conversation group.That is, the service provision unit 32 transmits information, which istransmitted from a terminal device 10 of a user who is logging in to acertain conversation group to the server 12, to a terminal device 10 ofanother user who is logging in to the same conversation group. Forexample, for each conversation group, the service provision unit 32manages conversation group identification information for identifyingthe conversation group, identification information for identifying auser who is logging in to the conversation group or a terminal device 10(for example, user identification information such as a user account,terminal identification information, etc.) in association with eachother. The service provision unit 32 refers to the managed informationto specify a user who is logging in to each conversation group or aterminal device 10, and controls information exchange among the pluralterminal devices 10.

The information exchange using the SNS may be performed via the server12 or may be performed without going through the server 12 among theplural terminal devices 10 directly (without going through anotherdevice) or indirectly (via another device).

Hereinafter, the operation of the terminal device 10 will be describedin detail with a specific example.

For example, it is assumed that users A, B and C belong to conversationgroup 1, users A, D and E belong to conversation group 2, and aconversation is made using an SNS for both conversation groups 1 and 2.For example, it is also assumed that the users A, B and C log in to theconversation group 1 to exchange messages, and the users A, D and E login to the conversation group 2 to exchange messages.

Each user uses the SNS by using his/her own terminal device 10. The sameterminal device 10 may also be shared by plural users when it ispossible to switch user accounts on the same terminal device 10 or whenit is possible to distinguish between users to exchange information onthe same terminal device 10.

In the following description, for the convenience of explanation, aterminal device 10 used by the user A will be referred to as a “terminaldevice 10A”, a terminal device 10 used by the user B will be referred toas a “terminal device 10B”, a terminal device 10 used by the user C willbe referred to as a “terminal device 10C”, a terminal device 10 used bythe user D will be referred to as a “terminal device 10D”, and aterminal device 10 used by the user E will be referred to as a “terminaldevice 10E”.

For example, a certain user may transmit information to other users sothat a conversation group may be formed by these users, or a new usermay join or be invited to an already formed conversation group tothereby add the new user to the conversation group. In addition, aconversation group may be formed in advance. These conversation groupsare managed by the service provision unit 32 of the server 12.

For example, the users A, B and C use their own terminal devices 10 toactivate an SNS application program, and log in to the conversationgroup 1 formed by the SNS provided by the service provision unit 32. Inorder to log in, information for identifying a user (for example, a userID or a name) or authentication information (for example, a password orbiometric information of a user) may be used. When the user A instructstransmission of a message to the conversation group 1, the terminaldevice 10A transmits the message to the server 12. The service provisionunit 32 of the server 12 receives the message transmitted from theterminal device 10A, and transmits the message to the terminal device10B of the user B and the terminal device 10C of the user C. Theterminal address information of each of the terminal devices 10B and 10Cmay be sent from the terminal device 10A to the server 12 or may bestored in advance in the server 12. The service provision unit 32identifies the terminal devices 10B and 10C using the terminal addressinformation and transmits the message from the user A to the terminaldevices 10B and 10C. The display controller 24 of the terminal device10B causes the display unit of the UI unit 16 to display the messagefrom the terminal device 10A. The same process is performed also in theterminal device 10C.

The service provision unit 32 may transmit to the terminal devices 10Band 10C an acknowledgement message indicating that a message has beensent from the user A. In this case, the display controller 24 of theterminal device 10B causes the display unit to display theacknowledgement message. When the user B uses the UI unit 16 to instructacquisition of the message from the user A, the terminal device 10Btransmits a request for acquisition of the message to the server 12. Inresponse to the acquisition request, the service provision unit 32transmits the message from the user A to the terminal device 10B. Thedisplay controller 24 of the terminal device 10B causes the display unitto display the message. The same process is performed also in theterminal device 10C.

When the user B does not log in to the conversation group 1 or when theSNS application is not activated on the terminal device 10B, the displaycontroller 24 of the terminal device 10B may cause the display unit todisplay the acknowledgement message. For example, the display controller24 causes the display unit to display an image (for example, an icon)representing the SNS application program and display the acknowledgementmessage (for example, the number of messages not acquired or read by theuser B) in association with the image. When the user B logs in to theconversation group 1 or when the SNS application program is activated inthe terminal device 10B, the terminal device 10B transmits to the server12 a request to acquire the message of the user A. In response to theacquisition request, the service provision unit 32 transmits the messageto the terminal device 10B. The display controller 24 of the terminaldevice 10B causes the display unit to display the message. The sameprocess as above is also performed when the user C does not log in tothe conversation group 1 or when the SNS application program is notactivated on the terminal device 10C.

Even when the users B and C transmit a message, the same process as inthe case where the user A transmits the message is executed. The sameprocess is executed for the conversation group 2. Each user may log into a conversation group later or may log out from the conversation groupon the way.

A screen displayed on the terminal device 10 when using the SNS will bedescribed with reference to FIG. 4. FIG. 4 illustrates an example of ascreen displayed on the terminal device 10A used by the user A. Thedisplay controller 24 of the terminal device 10A causes the display unitof the UI unit 16 to display a screen 34 and causes the screen 34 todisplay various kinds of information. The screen 34 is an interface(conversation screen) for making a conversation with another user(speaker). Information (for example, character strings, images, etc.)input by each user is displayed on the screen 34. The conversationbetween plural users may be a so-called chatting-type conversation (thatis, a real-time conversation, in further other words, a form ofconversation between users while remarking). For example, when the SNSapplication program is executed by the controller 22 of the terminaldevice 10A, the display controller 24 causes the display unit of the UIunit 16 to display the screen 34 for making a conversation using theSNS. When the SNS application program is executed, it may be possible touse the Internet telephone function, etc. in addition to the chattingfunction.

The screen 34 is a screen on which the conversation contents between theusers A, B and C logging in to the conversation group 1 are displayed.The conversation group 1 being displayed is a current conversationpartner (conversation group) for the user A, and the users B and C arecurrent speakers for the user A.

The display controller 24 displays an image 36 associated with the userA, an image 38 associated with the user B, and an image 40 associatedwith the user C on the screen 34. The image 36 is an image foridentifying the user A, the image 38 is an image for identifying theuser B, and the image 40 is an image for identifying the user C. Insteadof the image 36 or in addition to the image 36, a character string (forexample, a character string for identifying the user, such as a name, auser ID, a handle name, a nickname, etc.) indicating the user A may bedisplayed. The same applies to the images 38 and 40. The image 36associated with the user A is displayed in an area allocated to a userwho uses the terminal device 10A in the screen 34, and the image 38associated with the user B and the image 40 associated with the user Care displayed in an area allocated to other users in the screen 34.

Thereafter, a conversation is made between the users A, B and C. Eachuser may operate the UI unit 16 of the terminal device 10 of his/her ownto input the remark contents with a character string, an image, voice orthe like. In addition, the remark contents of each user may be output asvoice. According to an instruction of a user, the input remark contentsare transmitted to the terminal device 10 of another user. The remarkcontents are displayed in time series according to the date and time oftransmission. When the conversation progresses on the screen 34, thescreen 34 is scrolled such that the past remark contents which cannot bedisplayed on the screen 34 disappear from the screen 34 and the latestremark contents or the most recent remark contents are displayed on thescreen 34.

A remark content 42 is a remark content (for example, a message)transmitted by the user B using the terminal device 10B. The remarkcontent 42 is transmitted from the terminal device 10B to the server 12and is transmitted from the server 12 to the terminal devices 10A and10C that belong to the conversation group 1 by the service provisionunit 32. The remark content 42 may also be transmitted from the terminaldevice 10B to the terminal devices 10A and 10C without going through theserver 12. The remark content 42 is displayed on the screen 34 inassociation with the image 38 of the user B. The remark content 42 isalso displayed on the terminal devices 10B and 10C as the remark contentof the user B. A remark content 44 is a remark content transmitted bythe user A using the terminal device 10A and is displayed on the screen34 in association with the image 36 of the user A. The remark content 44is also displayed on the terminal devices 10B and 10C as the remarkcontent of the user A. A remark content 46 is a remark contenttransmitted by the user C using the terminal device 10C and is displayedon the screen 34 in association with the image 40 of the user C. Theremark content 46 is also displayed on the terminal devices 10B and 10Cas the remark content of the user C. A remark content 48 is a remarkcontent transmitted by the user A. In the example illustrated in FIG. 4,the remark contents 42, 44, 46 and 48 are transmitted in this order. Theremark contents 42, 44, 46 and 48 are displayed in time series accordingto the date and time of the transmission. The same also applies to thefollowing remark contents.

In addition, information indicating a time at which each remark contentis transmitted (for example, hour and minute or date and time) may bedisplayed on the screen 34. For example, a character string indicating adate (for example, today's date, November 2) is displayed on the screen34. A remark content displayed below the display position of thecharacter string indicating the date is a remark content transmittedafter that date. A remark content displayed above the display positionis a remark content transmitted before that date. For example, theremark content 42 is transmitted by the user B at 16:00 on November 2,and information indicating the time is associated with the remarkcontent 42. Similarly, information indicating the time is displayed forother remark contents. Information indicating hour and minute or dateand time may not be displayed as well.

In addition, read and unread of a remark content may be managed. Here, aread message and an unread message will be described. The read messageis a remark content read by another user and the unread message is aremark content not read by another user. For example, when a message(remark content) transmitted by the user A to the conversation group 1is read by another user (for example, the user B or the user C), readinformation indicating that the message has been read is transmittedfrom the terminal device 10 of a user who reads the message to theterminal device 10A. For example, when the SNS application program isexecuted on the terminal device 10 of another user and a message of theuser A is displayed on a screen (for example, a screen corresponding tothe screen 34) for conversation, the message is treated as being read byanother user. In this case, the read information is transmitted from theterminal device 10 of another user to the terminal device 10A. Whenanother user designates a message of the user A on his/her own terminaldevice 10, when another user designates and displays the message onanother window (another screen), or when another user gives aninstruction to transmit the read information, the read information maybe transmitted from the terminal device 10 of the other user to theterminal device 10A. As another example, when an acknowledgement messageindicating that the message of the user A has been transmitted isdisplayed on the display unit of the terminal device 10 of another userand when the other user gives an instruction to display the message ofthe user A or the message is actually displayed, the read informationmay be transmitted from the terminal device 10 of the other user to theterminal device 10A.

When the read information is transmitted from another terminal device 10to the terminal device 10A, the display controller 24 of the terminaldevice 10A displays the read information (a character string, an image,etc.) on the display unit in association with the message. In theexample illustrated in FIG. 4, the remark content 44 (message) of theuser A has been read by another user and the read information (forexample, a character string “read”) is displayed in association with theremark content 44. For example, the read information is displayed in thevicinity of the remark content 44. When the remark content 44 is read byall the other users, the read information may be displayed inassociation with the remark content 44. Alternatively, when the remarkcontent 44 is read by at least one of the other users, the readinformation may be displayed in association with the remark content 44.

The remark content with which the read information is associatedcorresponds to the read message, and the message with which the readinformation is not associated corresponds to the unread message. Sincethe read information (for example, the character string “read”) is notdisplayed in association with the remark content 48 of the user A, theremark content 48 corresponds to the unread message.

The display controller 24 may display the unread information indicatingthat the message has not been read by another user on the screen 34 inassociation with the unread message. For example, the unread informationmay be displayed in association with the remark content 48. Also, boththe read information and the unread information may be displayed, or oneof the read information and the unread information may be displayed.

In the example illustrated in FIG. 4, the read information is displayedas a character string in association with the remark content.Alternatively, the read information may be expressed by a method otherthan the method using a character string. For example, the displaycontroller 24 may apply different expression modes to a read message andan unread message. Specifically, the display controller 24 may (i)express a character string included in the unread message using aspecific font, (ii) express the character string in a specific color,(iii) express the character string in boldface, (iv) decorate a displayframe of the unread message, or (v) highlight the unread message. Thisallows the read message and the unread message to be distinguished fromeach other. In the example illustrated in FIG. 4, since the remarkcontent 44 is the read message and the remark content 48 is the unreadmessage, the display controller 24 applies the different expressionmodes to the remark content 44 and the remark content 48. Also, thedisplay controller 24 does not have to apply the above process to theunread message while applying the above process to the read message.Further, the display controller 24 may execute the above process whiledisplaying the read information and the unread information.

The concept of the read message and the unread message is not limited tothe above-described concept. For example, when the user A reads amessage transmitted by another user, the message may be treated as theread message. When the user A does not read the message transmitted byanother user, the message may be treated as the unread message. Forexample, when a message transmitted by the user B to the conversationgroup 1 is not read by the user A, the message corresponds to the unreadmessage for the user A. When the user A designates the message of theuser B on the terminal device 10A, when the user A designates themessage and displays the message on another window (another screen), orwhen the user A gives an instruction to transmit the read information,the controller 22 of the terminal device 10A determines that the messagehas been read by the user A. As another example, when an acknowledgementmessage indicating that the message of the user B has been transmittedis displayed on the display unit of the terminal device 10A and when theuser A gives an instruction to display the message of the user B or themessage is actually displayed, the controller 22 may determine that themessage has been read by the user A. Further, when the message of theuser B is displayed on the screen 34, the controller 22 may determinesthat the message has been read by the user A. In such a case, the readinformation is transmitted from the terminal device 10A to the terminaldevice 10B.

When the controller 22 of the terminal device 10A determines that themessage of another user has been read by the user A, the displaycontroller 24 of the terminal device 10A displays the read informationon the screen 34 in association with the message. For example, when itis determined that the remark content 42 of the user B has been read bythe user A, the display controller 24 displays the read information (forexample, the character string “read”) on the screen 34 in associationwith the remark content 42. The display controller 24 may display theunread information (for example, the character string “unread”) on thescreen 34 in association with the unread message while displaying or notdisplaying the read information on the screen 34 in association with theread message. In addition, the display controller 24 may apply thedifferent expression modes to the read message and the unread message sothat the read message and the unread message can be distinguished fromeach other.

While the read information or the unread information about the messageof the user A is being displayed on screen 34, the read information orthe unread information about a message of another user may be displayedon screen 34. The read information and the unread information may not bedisplayed.

As described above, when the conversation contents of the conversationgroup 1 is displayed on the screen 34, the user A performs an operationfor changing the current conversation group to another conversationgroup to which the user A is logging in. When the operation is detectedby the detection unit 20, the display controller 24 of the terminaldevice 10A changes the screen 34 to a screen for making a conversationwith the other conversation group. For example, when the user A performsan operation of moving the screen 34 in a direction indicated by anarrow 50 (for example, when the user A performs a flick operation), thedisplay controller 24 changes the screen 34 to a screen for making aconversation with another conversation group. When the user performs theflick operation in the upward direction, the downward direction, theleftward direction or the rightward direction, the display controller 24may change the screen 34. The operation for changing the conversationgroup may be a gesture motion other than the flick operation, voiceinput, or a combination of gesture motion and voice.

Hereinafter, a screen for making a conversation with anotherconversation group will be described with reference to FIG. 5. FIG. 5illustrates an example of the screen. A screen 52 is a screen on whichthe conversation contents between the users A, D and E being logging into the conversation group 2 are displayed. The conversation group 2being displayed is the current conversation partner (conversation group)for the user A, and the users D and E are the current speakers for theuser A.

The display controller 24 displays the image 36 associated with the userA, an image 54 associated with the user D, and an image 56 associatedwith the user E on the screen 52. The image 54 is an image foridentifying the user D, and the image 56 is an image for identifying theuser E. Like the screen 34, instead of or in addition to the user'simage, a character string indicating the user may be displayed. Like thescreen 34, information indicating a time at which each remark content istransmitted (for example, hour and minute or date and time) may bedisplayed on the screen 52. In the example illustrated in FIG. 5, acharacter string indicating a date (for example, yesterday's date,November 1) is displayed on the screen 52. A remark content displayedbelow the display position of the character string of that date is aremark content transmitted after the date. A remark content displayedabove the display position is a remark content transmitted before thedate. For example, a remark content 58 is transmitted by the user D at21:00 on November 1, and information indicating the time is displayed inassociation with the remark content 58. Similarly, informationindicating the time is displayed for other remark contents. In addition,the read information or the unread information may be displayed, ordisplay modes of an unread message and a read message may be differentfrom each other so that the unread message and the read message can bedistinguished from each other. In the example illustrated in FIG. 5, theread information is displayed in association with the remark content ofthe user A and the remark contents of other users. The image 36associated with the user A is displayed in an area allocated to a userusing the terminal device 10A in the screen 52. The image 54 associatedwith the user D and the image 56 associated with the user E aredisplayed in an area allocated to other users in the screen 52.

Thereafter, a conversation is made between the users A, D and E. Theremark content of each user is transmitted from the terminal device 10of his/her own to the terminal device 10 of another user who is loggingin to the conversation group 2 and displayed. For example, the remarkcontent 58 of the user D is displayed on the screen 52 in associationwith the image 54 of the user D, a remark content 60 of the user A isdisplayed on the screen 52 in association with the image 36 of the userA, a remark content 62 of the user E is displayed on the screen 52 inassociation with the image 56 of the user E, and a remark content 64 ofthe user A is displayed on the screen 52 in association with the image36. Like the screen 34, each remark content is displayed in time seriesaccording to the date and time of transmission.

As described above, according to the first exemplary embodiment, it ispossible to change a screen for making a conversation with aconversation partner by a simple operation (for example, gesture motionor voice). In the above example, it is possible to change a conversationgroup by changing the screen of the conversation group 1 to the screenof the conversation group 2 by a simple operation.

As a comparative example to the first exemplary embodiment, it isconceivable that a screen for selecting a conversation partner (forexample, a selection screen for displaying a list of conversationgroups) is displayed and, when changing a conversation partner, a userselects a conversation partner on the selection screen. In this case, itis considered that the screen 34 for making a conversation with theconversation group 1 is changed to the screen 52 for making aconversation with the conversation group 2 according to the followingprocedure. First, when the screen 34 is displayed, the user operates theUI unit 16 to give an instruction to display the selection screen of theconversation partner. In response to the display instruction, theselection screen is displayed instead of the screen 34. When the userselects the conversation group 2 as another conversation partner on theselection screen, the screen 52 is displayed instead of the selectionscreen. In this manner, in the comparative example, work and a processsuch as instructing to display a selection screen, displaying theselection screen and selecting the conversation group 2 on the selectionscreen occur. On the other hand, according to the first exemplaryembodiment, it is possible to change a conversation partner and a screenwithout executing such work or a process.

As another comparative example, it is conceivable to display a pop-upmessage of another conversation group and switch a conversation partnerto the other conversation group when a user selects that message. Evenin this case, a process and work of displaying and selecting the pop-upmessage occur. According to the present exemplary embodiment, it ispossible to change a screen with a conversation partner withoutexecuting such a process or work.

In addition, a list defining the display order of conversation groupsmay be prepared in advance and the display controller 24 may change ascreen according to the display order. For example, when the displayorder is defined in the order of conversation groups 1, 2 and 3, thedisplay controller 24 changes the screen in the order of conversationgroups 1, 2 and 3 according to the screen changing operation. When thechanging operation is performed while the screen of the conversationgroup 3 is being displayed, the display controller 24 changes the screenof the conversation group 3 to the screen of the conversation group 1.The display order may be defined by the user or may be defined accordingto the order of conversation group to which the user has logged in.

Hereinafter, modifications of the first exemplary embodiment will bedescribed.

First Modification

In a first modification, the display controller 24 enlarges or reduces ascreen being displayed according to an operation of a user. For example,as illustrated in FIG. 6, when the screen 34 is displayed, the userperforms an operation of enlarging the screen 34 (for example, apinch-out operation) as indicated by an arrow 66. When the operation isdetected, the display controller 24 enlarges the screen 34. In addition,when the user performs an operation of pinching the screen 34 (forexample, a pinch-in operation) and the operation is detected, thedisplay controller 24 reduces the screen 34. The enlarging operation andthe reducing operation may be, for example, predefined and theirdefinitions may be changed by the user. The screen may be enlarged orreduced by operations other than the pinch-out operation or the pinch-inoperation.

When the enlarging operation or the reducing operation is performed onthe screen 34 being displayed, the display controller 24 may enlarge orreduce a screen (for example, the screen 52) for making a conversationwith another conversation group not being displayed, in response to theenlarging operation or the reducing operation. That is, the displaycontroller 24 synchronizes the enlargement or reduction of the screenbetween the screen of the conversation group being displayed and thescreen of the conversation group not being displayed. The enlargementrate (enlargement amount) or reduction rate (reduction amount) of thescreen 52 not being displayed may be the same as or different from theenlargement rate (enlargement amount) or reduction rate (reductionamount) of the screen 34 being displayed. This setting may be performedby the user. When an operation for changing a conversation group isdetected, the display controller 24 changes the screen (for example, thescreen 34) currently being displayed to a screen for making aconversation with another conversation group (a screen in which theenlargement or reduction is reflected) (for example, the screen 52). Bydoing this, even when the enlarging operation or the reducing operationis not performed on the changed screen, an enlarged or reduced screen isdisplayed, thereby saving the time taken for the enlarging operation orthe reducing operation by the user.

When the enlarging operation or the reducing operation is performed onthe screen being displayed, the display controller 24 may enlarge orreduce only the screen being displayed but not enlarge or reduce thescreen for making a conversation with another conversation group notbeing displayed in response to the enlarging operation or the reducingoperation. Interlock control (synchronous control) or non-interlockcontrol (asynchronous control) may be set by the user.

Second Modification

A second modification will be described with reference to FIGS. 7 and 8.In the second modification, the display controller 24 causes the displayunit to display information (character strings, images, etc.) thatcannot be displayed on a screen being displayed, by scrolling the screenaccording to the operation of the user. For example, as illustrated inFIG. 7, when the screen 34 is displayed, the user A performs anoperation of scrolling the screen 34 as indicated by an arrow 68. Whenthe operation is detected, the display controller 24 scrolls the screen34 in a direction indicated by the arrow 68.

When the scroll operation is performed on the screen being displayed,the display controller 24 may scroll a screen for making a conversationwith another conversation group not being displayed in response to thescroll operation. That is, the display controller 24 synchronizes thescreen scrolling between the screen of the conversation group beingdisplayed and the screen of the conversation group not being displayed.A screen 52 for making a conversation with another conversation group isillustrated in FIG. 8. Although the screen 52 is not displayed on thedisplay unit, the display controller 24 scrolls the screen 52 in adirection indicated by an arrow 70 (in the same direction as thedirection indicated by the arrow 68) in response to the scroll operationon the screen 34. The scroll amount of the screen 52 being not displayedmay be the same as or different from the scroll amount of the screen 34being displayed. This setting may be performed by the user. When anoperation for changing a conversation group is detected, the displaycontroller 24 changes the screen (for example, the screen 34) currentlybeing displayed to a screen for making a conversation with anotherconversation group (a screen in which the scroll is reflected) (forexample, the screen 52). By doing so, since the scrolled screen isdisplayed without performing the scroll operation on the changed screen,it is possible to save the time for the scrolling operation by the user.

When the scroll operation is performed on the screen being displayed,the display controller 24 may scroll only the screen being displayed butmay not scroll the screen for making a conversation with anotherconversation group being not displayed in response to the scrolloperation. Interlock control (synchronous control) or non-interlockcontrol (asynchronous control) may be set by the user.

When the scroll operation is performed on the screen being displayed,the display controller 24 may scroll the screen for making aconversation with another conversation group being not displayed to aposition at which an unread message is displayed.

For example, in the case where the scroll operation is performed on thescreen 34 being displayed, if there is an unread message in theconversation group 2 being not displayed, the display controller 24scrolls the non-displayed screen 52 of the conversation group 2 to aposition at which the unread message is displayed. For example, thedisplay controller 24 scrolls the screen 52 so that the unread messageis displayed at a specific position (for example, the center position,the top position, the bottom position, etc.) of the screen 52. FIG. 9illustrates an example of the scrolled screen 52. For example, when aremark content 72 transmitted by the user A today (November 2) is in anunread state, the display controller 24 scrolls the screen 52 such thatthe remark content 72 is displayed at the center position of the screen52. Also, the display controller 24 may scroll the screen 52 such thatthe remark content 72 is displayed at the top or bottom of the screen52. The remark content displayed below the display position of acharacter string indicating today's date (November 2) is a remarkcontent transmitted after November 2, and the remark content displayedabove the display position is a remark content transmitted beforeNovember 2. When there are plural unread messages, the displaycontroller 24 may scroll the screen 52 to a position at which an unreadmessage transmitted at the oldest date and time is displayed, or mayscroll the screen 52 to a position at which an unread messagetransmitted at the latest date and time is displayed.

When an operation for changing a conversation group is detected, thedisplay controller 24 changes a screen (for example, the screen 34)currently being displayed to a screen for making a conversation withanother conversation group (a screen in which the scroll to the displayposition of the unread message is reflected) (for example, the screen52). By doing so, the unread message is displayed without performing thescroll operation on the changed screen, thereby reducing the time takenfor the scroll operation by the user. In the example illustrated in FIG.9, the remark content 72 is displayed after the screen is changed.

In the case where the scroll operation is performed on the screen 34being displayed, if there is an unread message not read by the user A inthe conversation group 2 not being displayed, the display controller 24scrolls the non-displayed screen 52 of the conversation group 2 to aposition at which the unread message is displayed. In this way, when thescreen 34 being displayed is changed to the screen 52, the unreadmessage (a message not read by the user A) is displayed withoutperforming the scroll operation on the changed screen 52, therebyreducing the time taken for the scroll operation by the user.

Further, when there is an unread message in the conversation group 1being displayed, according to the scroll operation on the screen 34being displayed, the display controller 24 may scroll the screen 34 to aposition at which the unread message is displayed.

Third Modification

In a third modification, when an operation for changing the currentconversation group to another conversation group is detected, thedisplay controller 24 preferentially changes the screen of theconversation group that is currently being displayed to a screen formaking a conversation with another active conversation group. The activeconversation group is, for example, a conversation group to whichanother user is logging in, a conversation group in which the elapsedtime from the transmission and reception of the last message is within apredetermined time, etc. For example, when the user A logs in to pluralconversation groups and is making a conversation with the pluralconversation groups, according to the screen changing operation, thedisplay controller 24 changes the screen of the conversation groupcurrently being displayed to a screen for making a conversation with theactive conversation group.

On the other hand, the display controller 24 may exclude inactiveconversation groups (conversation groups other than the above-describedactive conversation group) from the display target. When the changingoperation is performed plural times, the display controller 24 maydisplay on the display unit a screen for making a conversation with aninactive conversation group.

It is assumed that a user is more likely to make a conversation with anactive conversation group than an inactive conversation group.Therefore, according to the third modification, a screen of aconversation group with which a user can make a conversation ispreferentially displayed.

Fourth Modification

In a fourth modification, the display controller 24 changes a screenaccording to a priority based on the number of login users who arelogging in to each conversation group. The controller 22 determines thepriority of each conversation group based on the number of users(speakers) who are logging in to each conversation group. For example, aconversation group having the larger number of users who are logging inhas a higher priority. As a specific example, it is assumed that theuser A has logged in to conversation groups 4, 5 and 6. It is alsoassumed that four users including the user A have logged in to theconversation group 4, five users including the user A have logged in tothe conversation group 5, and six users including the user A have loggedin to the conversation group 6. In this case, the conversation group 6has the first priority, the conversation group 5 has the secondpriority, the conversation group 4 has the third priority, and thescreen is changed in the order of conversation groups 6, 5 and 4. Forexample, when a screen changing operation is detected while the screenof the conversation group 4 is being displayed, the display controller24 changes the screen of the conversation group 4 to a screen for makinga conversation with the conversation group 6 having the first priority.When a screen changing operation is detected while the screen of theconversation group 6 is being displayed, the display controller 24changes the screen of the conversation group 6 to a screen for making aconversation with the conversation group 5 having the second priority.When a screen changing operation is detected while the screen of theconversation group 5 is being displayed, the display controller 24changes the screen of the conversation group 5 to a screen for making aconversation with the conversation group 4 having the third priority.The same process is performed thereafter.

According to the fourth modification, the user can change a screen by asimple operation according to the number of users who are logging in.

The priority may be changed according to an operation. For example, whena first operation (for example, a flick operation in the right directionon a screen) is detected, the display controller 24 changes the screenaccording to the above-described priority. When a second operation (forexample, a flick operation in the left direction on the screen) isdetected, the display controller 24 changes the screen according to apriority reverse to the above-described priority. By doing this, thepriority can be changed by a simple operation. The first operation andthe second operation may be predetermined or may be changed by the user.

When a specific changing operation (for example, a flick operation inthe upward direction on the screen) is detected, the controller 22 mayspecify another conversation group to which the user A is logging in andwhich has the largest number of users who are logging in, and thedisplay controller 24 may change the screen currently being displayed toa screen for making a conversation with the specified conversationgroup. When a changing operation other than the specific changingoperation is detected, the display controller 24 changes the screenaccording to the above-described priority. By doing this, the user maymake a conversation with the conversation group having the largestnumber of users who are logging in, by a simple operation. The specificchanging operation may be predetermined or may be changed by the user.

The third and fourth modifications may be used in combination. Forexample, when there are plural active conversation groups, thecontroller 22 determines priorities according to the third modificationfor the plural active conversation groups, and the display controller 24changes the screen according to the determined priorities.

Fifth Modification

In a fifth modification, the display controller 24 changes a screenaccording to a priority based on the date and time of transmission ofthe latest remark content (message) in each conversation group. Thecontroller 22 specifies the date and time at which the latest remarkcontent has been transmitted (that is, the transmission date and time ofthe last message) for each conversation group, and determines thepriority of each conversation group based on the transmission date andtime of the latest remark content of each conversation group. Forexample, a conversation group with the transmission date and time of thelatest remark content closer to the current date and time has a higherpriority. As a specific example, it is assumed that the user A haslogged in to conversation groups 4, 5 and 6. It is also assumed that thetransmission date and time of the latest remark content in theconversation group 4 is “10:00 on Oct. 30, 2017”, the transmission dateand time of the latest remark content in the conversation group 5 is“10:30 on Oct. 30, 2017”, and the transmission date and time of thelatest remark content in the conversation group 6 is “11:00 on Oct. 30,2017”. In this case, the conversation group 6 has the first priority,the conversation group 5 has the second priority, the conversation group4 has the third priority, and the screen is changed in the order ofconversation groups 6, 5 and 4. That is, the screen is changed in thesame order as described in the fourth modification.

According to the fifth modification, the user can change the screen by asimple operation according to the input date and time of remark content.

As in the fourth modification, the priority may be changed according toan operation. In addition, when a specific changing operation isdetected, the controller 22 may specify a conversation group to whichthe user A is logging in and to which the latest remark content has beeninput (that is, a conversation group with the transmission date and timeof the last remark content closest to the current date and time), andthe display controller 24 may change the screen currently beingdisplayed to a screen for making a conversation with the specifiedconversation group. When a changing operation other than the specificchanging operation is detected, the display controller 24 changes thescreen according to the above-described priority. By doing this, theuser may make a conversation with the conversation group to which thelatest remark content has been input, by a simple operation.

The third and fifth modifications may be used in combination. Forexample, when there are plural active conversation groups, thecontroller 22 determines priorities according to the fifth modificationfor the plural active conversation groups, and the display controller 24changes the screen according to the determined priorities.

Further, the fourth and fifth modifications may be used in combination.That is, the controller 22 may determine a priority based on the numberof users who are logging in and the transmission date and time of thelatest remark content. In this case, the controller 22 may apply aweighting process to the priority based on the number of login users orthe transmission date and time. The third to fifth modifications may beused in combination.

Sixth Modification

In a sixth modification, the display controller 24 changes a screenaccording to a priority based on the number of unread messages in eachconversation group. In the terminal device 10A used by the user A, theunread message may be a message of the user A not read by another user,or a message of another user not read by the user A, or both of them.The controller 22 manages the number of unread messages for eachconversation group in which the user A is logging in, and determines thepriority of each conversation group based on the number of unreadmessages in each conversation group. For example, a conversation grouphaving the larger number of unread messages has a higher priority. As aspecific example, it is assumed that the user A has logged in toconversation groups 4, 5 and 6. It is also assumed that the number ofunread messages in the conversation group 4 is “4”, the number of unreadmessages in the conversation group 5 is “5”, and the number of unreadmessages in the conversation group 6 is “6”. In this case, theconversation group 6 has the first priority, the conversation group 5has the second priority, the conversation group 4 has the thirdpriority, and the screen is changed in the order of conversation groups6, 5 and 4. That is, the screen is changed in the same order asdescribed in the fourth modification.

According to the sixth modification, the user can change the screen by asimple operation according to the number of unread messages.

As in the fourth modification, the priority may be changed according toan operation. In addition, when a specific changing operation isdetected, the controller 22 may specify a conversation group to whichthe user A is logging in and which has the largest number of unreadmessages as a conversation group to which the user A is logging in, andthe display controller 24 may change the screen currently beingdisplayed to a screen for making a conversation with the specifiedconversation group. When a changing operation other than the specificchanging operation is detected, the display controller 24 changes thescreen according to the above-described priority. By doing this, theuser may make a conversation with the conversation group having thelargest number of unread messages by a simple operation. In addition, aconversation group with the smaller number of unread messages may have ahigher priority. This setting may be performed by the user.

The third and sixth modifications may be used in combination. Forexample, when there are plural active conversation groups, thecontroller 22 determines priorities according to the sixth modificationfor the plural active conversation groups, and the display controller 24changes the screen according to the determined priorities.

Further, the fourth and sixth modifications may be used in combination.That is, the controller 22 may determine a priority based on the numberof users who are logging in and the number of unread messages. In thiscase, the controller 22 may apply a weighting process to the prioritybased on the number of users or the number of unread messages. Thethird, fourth and sixth modifications may be used in combination.

Further, the fifth and sixth modifications may be used in combination.That is, the controller 22 may determine a priority based on thetransmission date and time of the latest message and the number ofunread messages In this case, the controller 22 may apply a weightingprocess to the priority based on the transmission date and time of thelatest message or the number of unread messages. The third, fifth andsixth modifications may be used in combination, or the third, fourth,fifth and sixth modifications may be used in combination.

In addition, when the priority is not determined by the above-describedpriority determining method, the controller 22 may determine thepriority based on the past display history of each conversation group.For example, if the transmission date and time of the latest message andthe number of unread messages are the same in plural conversationgroups, the priorities of the plural conversation groups cannot bedetermined depending on these conditions. In this case, the controller22 determines the priority based on the display history of eachconversation group. For example, the controller 22 assigns a higherpriority to a conversation group having a longer period (non-displayperiod) in which a conversation content is not displayed. If thepriority cannot be determined also by the non-display period, thecontroller 22 may determine the priority based on the names of theconversation groups. For example, the controller 22 determines thepriority in Japanese syllabary order or alphabetical order.

Seventh Modification

In a seventh modification, when an operation for changing the currentconversation group to another conversation group is detected, thecontroller 22 specifies another conversation group to which one orplural users who log in to the current conversation group log in, andthe display controller 24 changes the screen currently being displayedto a screen for making a conversation with the other conversation group.In the absence of such another conversation group, the displaycontroller 24 changes the screen according to a predetermined displayorder.

A specific example will be described below. For example, it is assumedthat the user A has logged in to the conversation groups 1, 2 and 3 andthe conversation group 1 is the current conversation group. In thiscase, the screen 34 illustrated in FIG. 4 is displayed on the terminaldevice 10A of the user A. In this state, when the user A performs anoperation to change a conversation group, the controller 22 specifiesanother conversation group to which the user A logs in and to which atleast one of the users B and C logs in. As described above, the users A,B and C have logged in to the conversation group 1 and the users A, Dand E have logged in to the conversation group 2. It is assumed that theusers A, B and D have logged in to the conversation group 3. In thiscase, the controller 22 specifies the conversation group 3 to which theuser B logs in, as another conversation group, and the displaycontroller 24 changes the screen 34 to a screen for making aconversation with the conversation group 3. When an operation forchanging a screen is detected while the screen for making a conversationwith the conversation group 3 is being displayed, the display controller24 changes the screen for making a conversation with the conversationgroup 3 to the screen 52 for making a conversation with the conversationgroup 2.

According to the seventh modification, the user may make a conversationwith another conversation group to which a user logged in to the currentconversation group is logging in, by a simple operation.

Further, the controller 22 may determine the priority based on thenumber of common users who are logging in, and the display controller 24may change the screen according to the determined priority. For example,a conversation group having the larger number of common users who arelogging in has a higher priority. A specific example will be describedbelow. It is assumed that the user A has logged in to conversationgroups 1, 7 and 8. It is also assumed that the users A, B and C havelogged in to the conversation group 1, the users A, B and D have loggedin to the conversation group 7, and the users A, B, C and E has loggedin to the conversation group 8. In this case, except for the user A, thenumber of common users between the conversation group 1 and theconversation group 7 is “1” (the user B is the common user), and thenumber of common users between the conversation group 1 and theconversation group 8 is “2” (the users B and C are the common users).Therefore, the conversation group 8 has the first priority, theconversation group 7 has the second priority, and the display controller24 changes the screen in the order of conversation groups 8 and 7. Thatis, in the above example, the screen is changed in the order ofconversation groups 1, 8 and 7.

As in the fourth modification, the priority may be changed according toan operation. When a specific changing operation is detected, thecontroller 22 may specify a conversation group to which the user A islogging in and which has the largest number of common users, and thedisplay controller 24 may change the screen currently being displayed toa screen for making a conversation with the specified conversationgroup. When a changing operation other than the specific changingoperation is detected, the display controller 24 changes the screenaccording to the above-described priority. By doing this, the user maymake a conversation with the conversation group having the largestnumber of common users by a simple operation.

At least one of the third to sixth modifications and the seventhmodification may be used in combination.

Eighth Modification

In an eighth modification, the controller 22 specifies a conversationgroup with which the user A has made a conversation most recently, andthe display controller 24 changes the screen currently being displayedto a screen for making a conversation with the specified conversationgroup. By doing this, a user may make a conversation with the latestconversation group by a simple operation.

Ninth Modification

In a ninth modification, the controller 22 performs duplication andtransfer (copy & paste) of a remark content among plural conversationgroups. The remark content may be a remark content transmitted by a useror may be a remark content transmitted by another user.

The ninth modification will be described in detail below with referenceto FIGS. 10 and 11. FIG. 10 illustrates the screen 34 of theconversation group 1 and FIG. 11 illustrates the screen 52 of theconversation group 2. For example, when the user A designates the remarkcontent 42 of the user B on the screen 34 of the conversation group 1being displayed and performs an operation of copying it to anotherconversation group not being displayed, the controller 22 copies theremark content 42 and pastes it on the screen of the other conversationgroup (for example, the screen 52 of the conversation group 2) not beingdisplayed, as the remark content of the user A. The copying operationis, for example, an operation of sliding the remark content 42 in adirection indicated by an arrow 74. When the user A slides the remarkcontent to be copied to the outside of the screen 34, the remark contentmay be pasted on the screen of another conversation group. In the screen52 illustrated in FIG. 11, the copied remark content 42 is added as aremark content 76 of the user A. The remark content 76 is transmitted tothe terminal devices 10 of the users D and E who are logging in to theconversation group 2. The remark content 76 may be transmitted to theterminal devices 10 of the users D and E at the timing when the copyingoperation is performed. Alternatively, the remark content 76 may betransmitted to the terminal devices 10 of the users D and E at thetiming when an operation of changing the screen 34 to the screen 52 isdetected.

When an operation for changing a conversation group is detected, thedisplay controller 24 changes the screen (for example, the screen 34)currently being displayed to a screen for making a conversation withanother conversation group (for example, the screen 52 on which thecopied & pasted remark content is displayed).

According to the ninth modification, it is possible to copy and pasteremark contents among plural conversation groups by a simple operation.

When the user A stops the copying operation within the screen 34 of thecopy source (for example, when the user A stops touching the screen 34),the controller 22 does not copy.

Tenth Modification

In a tenth modification, the controller 22 adds a user logged in to acertain conversation group to another conversation group. For example,the controller 22 adds a user included in a conversation group beingdisplayed to a conversation group not being displayed.

The tenth modification will be described in detail below with referenceto FIGS. 12 and 13. FIG. 12 illustrates the screen 34 of theconversation group 1 and FIG. 13 illustrates the screen 52 of theconversation group 2. For example, when the user A designates the image38 associated with the user B on the screen 34 of the conversation group1 being displayed and performs an operation of adding it to anotherconversation group not being displayed, the controller 22 adds the userB to the other conversation group (for example, the conversation group2) not being displayed. The adding operation is, for example, anoperation of sliding the image 38 in a direction indicated by an arrow78. When the user A slides the user image to be added to the outside ofthe screen 34, the user to be added may be added to another conversationgroup. The image 38 associated with the user B is displayed on thescreen 52 illustrated in FIG. 13, whereby the user B is added to theconversation group 2. That is, the user B has logged in to theconversation group 2.

When an operation for changing a conversation group is detected, thedisplay controller 24 changes the screen (for example, the screen 34)currently being displayed to a screen for making a conversation withanother conversation group (for example, the screen 52 of theconversation group 2 to which the user B is added).

According to the tenth modification, it is possible to add a user loggedin to a certain conversation group to another conversation group by asimple operation.

When the user A stops the adding operation within the screen 34 of theaddition source (for example, when the user A stops touching the screen34 or places an image of a user to be added in a specific display areawithin the screen 34), the controller 22 does not add a user.

In the tenth modification, when an approval of a user who is logging into a conversation group to which another user is to be added isobtained, the other user may be added to the conversation group. On theother hand, when the approval is not obtained, the other user need notbe added to the conversation group. For example, when the user Aperforms an operation of adding the user B who is logging in to theconversation group 1 to the conversation group 2, the terminal device10A transmits an approval request to the terminal device 10D of the userD and the terminal device 10E of the user E. In this case, asillustrated in FIG. 14, an approval screen 80 is displayed on the UIunits 16 of the terminal devices 10D and 10E, and a message 82 askingwhether or not to approve the participation of the user B is displayedon the approval screen 80. When the user D approves the participation ofthe user B (for example, when the user D presses a “Yes” button on theapproval screen 80), the terminal device 10D transmits informationindicating the approval to the terminal devices 10A and 10B. When theuser D does not approve the participation of the user B (for example,when the user D presses a “No” button on the approval screen 80), theterminal device 10D transmits information indicating no approval to theterminal devices 10A and 10B. The same applies to the user E.

When an approval is obtained by all users (for example, the users D andE), the user B is added to the conversation group 2. Otherwise, the userB will not be added to the conversation group 2. As another example,when an approval is obtained by a predetermined number of users or more,or when an approval is obtained by a specific user (for example, a userhaving approval authority), the user B may be added to the conversationgroup 2.

By requiring an approval as described above, it is possible to reflectthe intention of a user who is logging in to a conversation group towhich the user is to be added.

In addition, when the user B to be added accepts the participation, theuser B is added to the conversation group 2. On the other hand, when theuser B does not accept the participation, the user B need not be addedto the conversation group 2. For example, the terminal device 10Atransmits a participation request to the terminal device 10B of the userB. In this case, as illustrated in FIG. 15, an invitation screen 84 isdisplayed on the UI unit 16 of the terminal device 10B, and a message 86indicating that the user B is requested to participate in theconversation group 2 is displayed on the invitation screen 84. When theuser B wishes to participate in the conversation group 2 (for example,when the user B presses a “Yes” button on the invitation screen 84), theterminal device 10B transmits information indicating the participationto the terminal device 10A. On the other hand, when the user B does notwish to participate in the conversation group 2 (for example, when theuser B presses a “No” button on the invitation screen 84), the terminaldevice 10B transmits information indicating no participation to theterminal device 10A.

When the user B wishes to participate in the conversation group 2, theuser B is added to the conversation group 2. When the user B does notwish to participate in the conversation group 2, the user B is not addedto the conversation group 2. By doing this, it is possible to reflectthe intention of a user to be added.

Further, when an approval of users (for example, the users D and E) whoare logging in to a conversation group of an addition destination isobtained and a user to be added (for example, the user B) wishes toparticipate in the conversation group, the user to be added may be addedto the conversation group.

Eleventh Modification

In an eleventh modification, the controller 22 changes a conversationgroup to be changed according to the mode of an operation of a user. Theoperation mode is determined based on at least one of, for example, thedirection of the operation, the speed of the operation or the number oftimes the operation is performed.

The eleventh modification will be described in detail below withreference to FIG. 16. FIG. 16 illustrates the screen 34 of theconversation group 1. Flick operations in respective directions areassociated with other conversation groups to which the user A is loggingin. The correspondence relationship between the respective flickoperations and the conversation groups is shown below.

-   -   One flick operation in the direction indicated by an arrow 88        (the right direction of the screen 34): conversation group 2    -   One flick operation in the direction indicated by an arrow 90        (the left direction of screen 34): conversation group 3    -   One flick operation in the direction indicated by an arrow 92        (the upward direction of screen 34): conversation group 4    -   One flick operation in the direction indicated by an arrow 94        (the diagonal upward to right direction of the screen 34):        conversation group 5    -   One flick operation in the direction indicated by an arrow 96        (the diagonal upward to left direction of the screen 34):        conversation group 6    -   One flick operation in the direction indicated by an arrow 98        (the diagonal downward to left direction of the screen 34):        conversation group 7    -   One flick operation in the direction indicated by an arrow 100        (the diagonal downward to right direction of the screen 34):        conversation group 8    -   One flick operation in the direction indicated by an arrow 102        (the downward direction of the screen 34): conversation group 9    -   Two consecutive flick operations in the direction indicated by        an arrow 104 (the right direction of the screen 34):        conversation group 10    -   One quick flick operation in the direction indicated by an arrow        106 (the right direction of the screen 34): conversation group        11

Each flick operation will be described in more detail. The flickoperation indicated by the arrow 102 from the arrow 88 is one flickoperation within a predetermined normal speed range. The flick operationindicated by the arrow 104 is two consecutive flick operations withinthe normal speed range. For example, when a time interval between twoflick operations is within a predetermined time, it is detected that twoflick operations are performed consecutively. The flick operationindicated by the arrow 106 is one flick operation faster than the abovenormal speed range.

For example, when one flick operation within the normal speed range isperformed and detected in the direction indicated by the arrow 88, thedisplay controller 24 displays the screen 52 of the conversation group2, instead of the screen 34 of the conversation group 1, on the displayunit. When two flick operations within the normal speed range aresuccessively performed and detected in the direction indicated by thearrow 104, the display controller 24 displays a screen of theconversation group 10, instead of the screen 34 of the conversationgroup 1, on the display unit. When one flick operation faster than thenormal speed range is performed and detected in the direction indicatedby the arrow 106, the display controller 24 displays a screen of theconversation group 11, instead of the screen 34 of the conversationgroup 1, on the display unit. Even when a flick operation in a differentdirection is detected, the screen being displayed is changed to a screenfor making a conversation with a conversation group associated with theflick operation.

On the screen after the change, the conversation group 1 before thechange is associated with the flick operation in the directionassociated with the conversation group after the change. For example,when the flick operation indicated by the arrow 88 is performed on thescreen 34, the screen 52 of the conversation group 2 is displayedinstead of the screen 34. In this case, the conversation group 1 isassociated with the one flick operation in the direction indicated bythe arrow 88. When the flick operation indicated by the arrow 88 isperformed on the screen 52, the screen 34 of the conversation group 1 isdisplayed instead of the screen 52. Also, an operation and aconversation group may be associated with each screen for eachconversation group.

The above correspondence is merely an example, a differentcorrespondence may be made, or the correspondence may be made by a user.For example, the direction of the operation, the speed of the operation,the number of times the operation is performed may be set by the userand an operation mode and a conversation group may be associated by theuser.

According to the eleventh modification, since it is possible to change aconversation group depending on an operation mode, it is possible tochange the conversation group by a simple operation.

The above-described flick operation is merely an example of an operationfor changing a conversation group, and the conversation group may bechanged by an operation (gesture motion or voice) other than the flickoperation. In addition, the conversation group may be associated with acombination of user's gesture motion and voice.

In the eleventh modification, the display controller 24 may displayinformation indicating the correspondence relationship between anoperation mode and a conversation group on the display unit. Forexample, it is assumed that the user A has logged in to the conversationgroups 1, 2, 3 and 4 and the current conversation group is theconversation group 1. In this case, as illustrated in FIG. 17, thedisplay controller 24 displays the screen 34 of the conversation group 1on the display unit. As in the example illustrated in FIG. 4, thedisplay controller 24 displays on the screen 34 an image associated witheach user who is logging in to the conversation group 1 and aconversation content, and further displays information indicating theother conversation groups 2, 3 and 4 on the screen 34. For example, itis assumed that the conversation group 2 is associated with the rightdirection of the screen 34, the conversation group 3 is associated withthe left direction of the screen 34, and the conversation group 4 isassociated with the upward direction of the screen 34. In this case, thedisplay controller 24 displays information 108 indicating theconversation group 2 on the right side of the screen 34, information 110indicating the conversation group 3 on the left side of the screen 34,and information 112 indicating the conversation group 4 on the upperside of the screen 34. The information indicating the conversation groupis, for example, a character string or an image indicating aconversation group. When the user A performs a flick operation in theright direction on the screen 34 and the flick operation is detected,the display controller 24 displays the screen 52 of the conversationgroup 2, instead of the screen 34, on the display unit. By displayingthe information indicating the correspondence relationship between anoperation mode (for example, the operation direction) and a conversationgroup, the user is provided with visual information indicating whichconversation group the user may make a conversation with when performingan operation.

The information 108 or the like indicating the conversation group may bedisplayed on the screen 34 all the time or may be displayed according toan instruction from the user. For example, when the user performs aspecific operation and the specific operation is detected, the displaycontroller 24 may display on the screen 34 the information 108 or thelike indicating the conversation group within a predetermined time oruntil another operation is detected. The specific operation is, forexample, an operation (press and hold operation) of pressing for apredetermined time or more a portion of the screen 34 on which an imageor conversation content associated with the user is not displayed, orthe like. Also, another operation may be defined as the specificoperation. Further, the information 108 or the like may be displayed ina translucent state during displaying.

FIG. 18 illustrates another example of the information indicating thecorrespondence relationship. In this example, the display controller 24displays a map image 114 on the screen 34 of the conversation group 1.The map image 114 is an image indicating the correspondence relationshipbetween an operation direction and a conversation group. A numericalvalue displayed in the map image 114 indicates the number of theconversation group, and the display position of the numerical valueindicates an operation direction with which the conversation group isassociated. For example, a numerical value “2” indicates theconversation group 2. Since the numerical value “2” is displayed at theright side position in the map image 114, the conversation group 2 isassociated with an operation in the right direction. Therefore, when theuser A performs an operation (for example, a flick operation) in theright direction on the screen 34 and the operation is detected, thedisplay controller 24 displays the screen 52 of the conversation group2, instead of the screen 34, on the display unit. By displaying such amap image 114, the user is provided with visual information indicatingwhich conversation group the user may make a conversation with whenperforming an operation.

As in the example illustrated in FIG. 17, the map image 114 may bedisplayed on the screen 34 all the time or may be displayed according toan instruction from the user. For example, when a specific operation bythe user is detected, the display controller 24 may display the mapimage 114 on the screen 34. In addition, when the screen 34 is changedto the screen of another conversation group while the map image 114 isbeing displayed or when another user is moved to another conversationgroup while the map image 114 is being displayed, the display controller24 may not display the map image 114. By doing this, since the map image114 is not displayed when the operation of the user is completed, it ispossible to avoid a situation where it is hard for the user to see aremark content due to display of the map image 114. Also, the displaycontroller 24 may display the map image 114 until the user gives anon-display instruction. Further, the map image 114 may be displayed ina translucent state during displaying.

FIG. 19 illustrates still another example of the information indicatingthe correspondence relationship. In the example illustrated in FIG. 19,the display controller 24 displays images 116 to 130 indicating thecorrespondence relationship between the operation direction and theconversation group on the edges of the screen 34. A numerical valuedisplayed in each image indicates the number of a conversation group,and the display position of the image indicates the operation directionwith which the conversation group is associated. For example, anumerical value “2” indicates the conversation group 2. Since the image116 representing the numerical value “2” is displayed on the right edgeof the screen 34, the conversation group 2 is associated with anoperation in the right direction. Therefore, when the user A performs anoperation (for example, a flick operation) in the right direction on thescreen 34 and the operation is detected, the display controller 24displays the screen 52 of the conversation group 2, instead of thescreen 34, on the display unit. In this manner, by displaying an imageindicating a conversation group on an edge of the screen, it becomeshard for the image to be superimposed on a remark content, so that theremark content becomes hard to be obstructed by the image. Also, thedisplay controller 24 may grasp the position and size of the displaycontent and arrange the image indicating the conversation group in thescreen 34 so as to avoid the image associated with the user and thedisplayed portion of the remark content of each user. At that time, thedisplay controller 24 may realize the above arrangement by reducing theimage associated with the user or the remark content of each user.Alternatively, the display controller 24 may reduce the image indicatingthe correspondence relationship between the operation direction and theconversation group and may display it on the screen 34. By doing so, itis possible to display the image without degrading the visibility of theimage indicating the correspondence relationship between the operationdirection and the conversation group. Similarly to the map image 114illustrated in FIG. 18, when the screen 34 is changed to the screen ofanother conversation group or when another user is moved to anotherconversation group, the display controller 24 may not display the images116 to 130. Also, the display controller 24 may display the images 116to 130 until the user gives a non-display instruction. In addition, theimages 116 to 130 may be displayed in a translucent state duringdisplaying. By doing so, even when the images 116 to 130 overlap withthe display portion of the image associated with the user or the remarkcontent of each user, it is possible to prevent the visibility of eachimage and the remark content from being degraded.

Second Exemplary Embodiment

Hereinafter, an information processing system according to a secondexemplary embodiment will be described. The information processingsystem according to the second exemplary embodiment has the sameconfiguration as the information processing system according to thefirst exemplary embodiment. A server 12 according to the secondexemplary embodiment has the same configuration as the server 12according to the first exemplary embodiment, and has a function ofproviding an SNS as in the first exemplary embodiment. A terminal device10 according to the second exemplary embodiment has the sameconfiguration as the terminal device 10 according to the first exemplaryembodiment, but the function of a display controller 24 according to thesecond exemplary embodiment is different from the function of thedisplay controller 24 according to the first exemplary embodiment.Hereinafter, the process of the display controller 24 according to thesecond exemplary embodiment will be mainly described in detail.

In the second exemplary embodiment, similarly to the first exemplaryembodiment, when an SNS is used, the display controller 24 displaysinformation (a character string, an image, etc.) transmitted or receivedusing the SNS, on the display unit of the UI unit 16. In the secondexemplary embodiment, when a user has logged in to plural conversationgroups, the display controller 24 displays conversation contents of theplural conversation groups on the same screen.

Hereinafter, the operation of the terminal device 10 according to thesecond exemplary embodiment will be described in detail by way of aspecific example.

For example, it is assumed that users A, B and C belong to conversationgroup 1, users A, D and E belong to conversation group 2, and aconversation is made using an SNS for both conversation groups 1 and 2.For example, it is also assumed that the users A, B and C log in to theconversation group 1 to exchange messages, and the users A, D and E login to the conversation group 2 to exchange messages.

A screen displayed on the terminal device 10 when using the SNS will bedescribed below with reference to FIG. 20. FIG. 20 illustrates anexample of a screen displayed on the terminal device 10A used by theuser A. The display controller 24 of the terminal device 10A displays ascreen 132 on the display unit of the UI unit 16 and displays variouskinds of information on the screen 132. The screen 132 is an interface(conversation screen) for making a conversation with another user(speaker). Information (for example, a character string, an image, etc.)input by each user is displayed on the screen 132. The conversationbetween plural users may be a so-called chatting-type conversation (thatis, a real-time conversation, in further other words, a form ofconversation between users while remarking). For example, when the SNSapplication program is executed by the controller 22 of the terminaldevice 10A, the display controller 24 displays a screen for making aconversation using the SNS on the display unit of the UI unit 16. Whenthe SNS application program is executed, it may be possible to use theInternet telephone function, etc. in addition to the chatting function.

For example, it is assumed that the user A has logged in to theconversation groups 1 and 2. In this case, the display controller 24displays the conversation contents of the conversation group 1 and theconversation contents of the conversation group 2 on the same screen132. For example, the display controller 24 sets display areas 136 and138 in the lateral direction (on the left and right) within the screen132 with a virtual line 134 as a boundary, displays the conversationcontents of the conversation group 1 in the display area 136, anddisplays the conversation contents of the conversation group 2 in thedisplay area 138. The conversation contents between the users A, B and Clogged in the conversation group 1 are displayed in the display area136. The conversation contents between the users A, D and E logged inthe conversation group 2 are displayed in the display area 138. When theuser A has logged in to two conversation groups, the virtual line 134 isset, for example, at the center in the lateral direction of the screen132. Also, the display controller 24 may control the size of eachdisplay area by changing the position of the virtual line 134 accordingto the length of a remark content (for example, a message) in eachconversation group. For example, the display controller 24 may changethe position of the virtual line 134 so that the display area of aconversation group having a longer remark content is wider than thedisplay area of a conversation group having a shorter remark content.Further, the display controller 24 may change the position of thevirtual line 134 according to the amount of the remark content. Thedisplay controller 24 may change the position of the virtual line 134according to the operation of the user. The display controller 24 may ormay not display the virtual line 134 on the screen 132.

In the example illustrated in FIG. 20, the conversation contents of thetwo conversation groups are displayed on the same screen 132, but theconversation contents of three or more conversation groups may bedisplayed on the same screen 132. For example, when the user A haslogged in to three or more conversation groups, the conversationcontents of the three or more conversation groups are displayed on thesame screen 132. Also, when the user A has logged in to one conversationgroup (for example, the conversation group 1), the conversation contentsof the one conversation group (for example, the conversation group 1)are displayed as illustrated in FIG. 4.

For example, when the user A has logged in to one conversation group(for example, the conversation group 1), the display controller 24displays the screen 34 for making a conversation with the conversationgroup 1 on the display unit, as illustrated in FIG. 4. In thissituation, when the user A further logs in to another conversation group(for example, the conversation group 2), the display controller 24widens the screen for making a conversation, for example, and displaysthe conversation contents of the conversation groups 1 and 2 on thescreen 132.

As another example, when the user A has logged in to one conversationgroup (for example, the conversation group 1), the display controller 24uses the screen in a vertically long state, as illustrated in FIG. 4, todisplay the conversation contents of the conversation group 1 on thevertically long screen. When the user A further logs in to anotherconversation group (for example, the conversation group 2), the displaycontroller 24 changes the screen from the vertically long state to alaterally long state and displays the conversation contents of theconversation groups 1 and 2 on the laterally long screen 132. In theexample illustrated in FIG. 20, the conversation contents of theconversation groups 1 and 2 are displayed on the laterally long screen132.

Further, as the conversation contents of more conversation groups aredisplayed, the display controller 24 may reduce each conversationcontents (a character string, an image, etc.) and display it on thescreen.

Hereinafter, the information displayed in each display area will bedescribed in detail.

The display controller 24 displays an image 140 associated with the userA, an image 142 associated with the user B, and an image 144 associatedwith the user C in the display area 136 assigned to the conversationgroup 1. The image 140 is an image for identifying the user A, the image142 is an image for identifying the user B, and the image 144 is animage for identifying the user C. Instead of the image 140 or inaddition to the image 140, a character string indicating the user A (forexample, a character string for identifying the user A, such as a name,a user ID, a handle name, a nickname, etc.) may be displayed. The sameapplies to the images 142 and 144. The image 140 associated with theuser A is displayed in an area allocated to the user A who uses theterminal device 10A in the display area 136, and the image 142associated with the user B and the image 144 associated with the user Care displayed in an area allocated to other users in the display area136.

Thereafter, a conversation is made between the users A, B and C. Eachuser may operate the UI unit 16 of the terminal device 10 of his/her ownto input the remark contents with a character string, an image, voice orthe like. In addition, the remark contents of each user may be output asvoice. The remark contents are displayed in time series according to thedate and time of transmission. When the conversation progresses on thedisplay area 136, the display area 136 is scrolled such that the pastremark contents which cannot be displayed on the display area 136disappear from the display area 136 and the latest remark contents orthe most recent remark contents are displayed on the display area 136.

A remark content 146 is a remark content (for example, a message)transmitted by the user B using the terminal device 10B and is displayedin the display area 136 in association with the image 142 of the user B.The remark content 146 is also displayed as the remark content of theuser B on the terminal devices 10B and 10C. A remark content 148 is aremark content transmitted by the user A using the terminal device 10Aand is displayed in the display area 136 in association with the image140 of the user A. The remark content 148 is also displayed as theremark content of the user A on the terminal devices 10B and 10C. Aremark content 150 is a remark content transmitted by the user C usingthe terminal device 10C and is displayed in the display area 136 inassociation with the image 144 of the user C. The remark content 150 isalso displayed as the remark content of the user C on the terminaldevices 10B and 10C. A remark content 152 is a remark contenttransmitted by the user A. In the example illustrated in FIG. 20, theremark contents 146, 148, 150 and 152 are transmitted in this order, andthe remark contents 146, 148, 150 and 152 are displayed in time seriesaccording to the date and time of transmission. The same also applies tothe following remark contents.

In addition, as in the first exemplary embodiment, informationindicating the time at which each remark content has been transmitted(for example, the timing or the date and time) may be displayed in thedisplay area 136. For example, a character string indicating a date (forexample, today's date, November 2) is displayed in the display area 136.A remark content displayed below the display position of the characterstring indicating the date is a remark content transmitted after thatdate. A remark content displayed above the display position is a remarkcontent transmitted before that date. Information indicating hour andminute or date and time may not be displayed as well.

In addition, as in the first exemplary embodiment, read and unread of aremark content may be managed. The definition of a read message and anunread message is the same as the definition according to the firstexemplary embodiment.

Further, the display controller 24 displays the image 140 associatedwith the user A, an image 154 associated with the user D, and an image156 associated with the user E in the display area 138 allocated to theconversation group 2. The image 154 is an image for identifying the userD, and the image 156 is an image for identifying the user E. Similarlyto the display area 136, a character string indicating a user may bedisplayed instead of or in addition to the user's image. The image 140associated with the user A is displayed in an area allocated to the userA who uses the terminal device 10A in the display area 138, and theimage 154 associated with the user D and the image 156 associated withthe user E are displayed in an area allocated to other users in thedisplay area 138.

Thereafter, a conversation is made between the users A, D and E. Theremark content of each user is transmitted from the terminal device 10of his/her own to the terminal device 10 of another user who is loggingin to the conversation group 2 and displayed. For example, a remarkcontent 158 of the user D is displayed in the display area 138 inassociation with the image 154 of the user D, a remark content 160 ofthe user A is displayed in the display area 138 in association with theimage 140 of the user A, a remark content 162 of the user E is displayedin the display area 138 in association with the image 156 of the user E,and a remark content 164 of the user A is displayed in the display area138 in association with the image 140 of the user A. Similarly to thedisplay area 136, each remark content is displayed in time seriesaccording to the date and time of transmission.

In addition, similarly to the display area 136, information indicatingthe time at which each remark content has been transmitted (for example,the timing or the date and time) may be displayed in the display area138. For example, a character string indicating a date (for example,yesterday's date, November 1) is displayed in the display area 138. Aremark content displayed below the display position of the characterstring indicating the date is a remark content transmitted after thatdate. A remark content displayed above the display position is a remarkcontent transmitted before that date. Information indicating hour andminute or date and time may not be displayed as well.

In addition, similarly to the conversation group 1, for the conversationgroup 2, read and unread of a remark content may be managed.

The user A can send a remark content to the conversation groups 1 and 2on the screen 132. That is, it is in a state where it is possible totransmit the remark content to the conversation groups 1 and 2. Forexample, the user A uses the UI unit 16 to select a conversation groupof a transmission destination and input the remark content. Accordingly,the remark content is transmitted to the conversation group of thetransmission destination. For example, when the user A designates thedisplay area 136 and inputs the remark content, the remark content istransmitted to the conversation group 1. The designation of the displayarea is performed, for example, by a touch operation on the display areaor by voice. The user A may designate a conversation group to which theremark content is to be transmitted after inputting the remark content.For example, the user A may designate a conversation group of atransmission destination by an operation such as a flick operation. Alsoin this case, the remark content is transmitted to the conversationgroup of the transmission destination.

As described above, according to the second exemplary embodiment, it ispossible to display plural conversation groups on the same screen forconversation. For example, it is possible to display plural conversationgroups for conversation without expanding the display area, increasingthe number of display units, or using plural screens.

Hereinafter, modifications of the second exemplary embodiment will bedescribed.

Twelfth Modification

In a twelfth modification, the display controller 24 displays aconversation content of an active conversation group on the display unitand does not display a conversation content of an inactive conversationgroup on the display unit. When there are plural active conversationgroups, the display controller 24 displays the conversation contents ofthe plural conversation groups on the same screen.

The active conversation group is, for example, a conversation group towhich another user is logging in, a conversation group in which theelapsed time from the transmission and reception of the last message iswithin a predetermined time, etc.

For example, when the user A has logged in to the conversation groups 1and 2 and the conversation groups 1 and 2 correspond to the activeconversation group, the display controller 24 displays the conversationcontents of the conversation groups 1 and 2 on the same screen 132, asillustrated in FIG. 20.

The display controller 24 excludes inactive conversation groups(conversation groups other than the above-described active conversationgroup) from the display target. When a specific operation by the user(an operation indicating a display instruction of a conversation contentof an inactive conversation group) is detected, the display controller24 may display the conversation content of the inactive conversationgroup on the display unit. In this case, the display controller 24 maydisplay both the conversation content of the active conversation groupand the conversation content of the inactive conversation group on thesame screen, or may display the conversation content of the inactiveconversation group on the display unit without displaying theconversation content of the active conversation group on the displayunit.

It is assumed that a user is more likely to make a conversation with anactive conversation group than an inactive conversation group.Therefore, according to the twelfth modification, a conversation groupwith which a user can make a conversation is preferentially displayed.

Thirteenth Modification

In a thirteenth modification, the display controller 24 controls thedisplay of each remark content so that a user who issues a remarkcontent included in a conversation content of a conversation group isidentifiable. For example, the display controller 24 displays remarkcontents color-coded for different users. Hereinafter, the thirteenthmodification will be described in detail with reference to FIG. 21. FIG.21 illustrates a screen 132.

Here, the conversation group 1 will be described. As in the exampleillustrated in FIG. 20, the display controller 24 displays a remarkcontent 166 of the user B, remark contents 168 and 172 of the user A,and a remark content 170 of the user C in the display area 136. At thistime, the display controller 24 makes the display colors of the remarkcontents of the users different from each other.

Further, the display controller 24 may display a character string (forexample, a character string “conversation group 1”) for identifying theconversation group 1 in the display area 136. In the example illustratedin FIG. 21, the character string “Conversation group 1” is displayed inthe upper portion of the display area 136.

In addition, the display controller 24 may display information of userswho are logging in to the conversation group 1 collectively in thedisplay area 136. In the example illustrated in FIG. 21, as theinformation of the users, images 174, 176 and 178 associated with theusers are collectively displayed in the upper portion of the displayarea 136. The image 174 is an image associated with the user A, theimage 176 is an image associated with the user B, and the image 178 isan image associated with the user C. The display color of each imagecorresponds to the display color of the remark content of each user. Forexample, the display color of the image 174 associated with the user Ais the same as the display color of the remark contents 168 and 172 ofthe user A. The display color of the image 176 associated with the userB is the same as the display color of the remark content 166 of the userB. The display color of the image 178 associated with the user C is thesame as the display color of the remark content 170 of the user C. Bydoing this, it becomes easy to visually understand whom a remark contentis for.

In the case of displaying color-coded remark contents, the images 140,142 and 144 associated with the users need not be displayed. This isbecause, even if the images 140, 142 and 144 are not displayed, it ispossible to identify whom each remark content is for.

The display controller 24 may make the display shapes of the respectiveremark contents different from each other by color-coding the remarkcontents or without color-coding. Accordingly, the display controller 24may make the display shapes of the images 174, 176 and 178 associatedwith the users different from each other. For example, the displaycontroller 24 displays the images and the remark contents in the displayarea 136 with the same image associated with the same user and the samedisplay shape of the remark content.

In the example illustrated in FIG. 21, the above process is applied onlyto the conversation group 1, but the above process may also be appliedto the conversation group 2.

Fourteenth Modification

In a fourteenth modification, the display controller 24 arranges remarkcontents (for example, messages) included in the conversation content ofthe same conversation group on the same straight line and displays theremark contents in a display area allocated to the conversation group.Hereinafter, the fourteenth modification will be described in detailwith reference to FIG. 21.

Here, the conversation group 1 will be described. The display controller24 sets a virtual straight line 180 along a time-series direction in thedisplay area 136 and arranges the remark contents 166, 168, 170 and 172on the straight line 180. For example, the display controller 24 placesthe remark contents so that the central portion of each remark contentis arranged on the straight line 180. Accordingly, the remark contentsare line-symmetrical with respect to the straight line 180 as an axis ofsymmetry (bilaterally symmetrical). By doing this, as illustrated inFIG. 20, it is possible to secure more space in the display area 136than a case where the remark contents of the users are bilaterallydivided within the display area 136. In other words, by arranging theremark contents in a stuffed state along the straight line 180, it ispossible to secure more space than a case where the remark contents arearranged in a distributed manner. For example, a space (a space denotedby reference numeral 182) corresponding to a distance between a virtualline 134 defining the display areas 136 and 138 and the image 140associated with the user A displayed at the position closest to thevirtual line 134 can be secured. Further, as described in the thirteenthmodification, when the images 140, 142 and 144 associated with the usersare not displayed, a space (a space denoted by reference numeral 184)corresponding to a distance between the virtual line 134 and the remarkcontent 172 displayed at the position closest to the virtual line 134can be secured. The display areas of other conversation groups may beincreased by the space. For example, the display area 136 of theconversation group 1 may be narrowed by the space, and the display area138 of the conversation group 2 may be widened by the space.

According to the fourteenth modification, it is possible to effectivelyutilize a finite display area.

The above-described layout is merely an example, and another layout maybe adopted. For example, the display controller 24 may move the remarkcontents arranged on the straight line 180 to one edge (for example, aleft edge of the screen 132) within the display area 136, or may alignone ends of the display areas on a straight line.

In the example illustrated in FIG. 21, the above process is applied onlyto the conversation group 1, but the above process may also be appliedto the conversation group 2.

In addition, the display controller 24 may arrange respective remarkcontents in a conversation group whose longest remark content isshortest among the plural conversation groups, on the same straight lineand display the arranged remark contents on the display area. Forexample, the display controller 24 compares the longest remark content(for example, a message with the largest number of characters) in theconversation group 1 with the longest remark content in the conversationgroup 2. When the longest remark content in the conversation group 1 isshorter (for example, smaller in terms of the number of characters) thanthe longest remark content in the conversation group 2, the displaycontroller 24 arranges the remark contents in the conversation group 1on the same straight line. By doing this, it is possible to secure morespace. Also, the display controller 24 may apply the process accordingto the fourteenth modification to all the conversation groups.

Fifteenth Modification

In a fifteenth modification, in response to a change in a display areaof a conversation content of a certain conversation group included inplural conversation groups, the display controller 24 changes a displayarea of a conversation content of another conversation group. Forexample, in response to a user's operation (for example, an enlargementoperation or a reduction operation) on a display area of a certainconversation group, the display controller 24 enlarges or reduces adisplay area of another conversation group. Hereinafter, the fifteenthmodification will be described in detail with reference to FIG. 22. FIG.22 illustrates a screen 132.

For example, while the screen 132 is being displayed, when the userperforms an operation (for example, a pinch-out operation) of enlargingthe display area 136 of the conversation group 1, as indicated by anarrow 186, and the operation is detected, the display controller 24enlarges the display area 136. Along with this, a remark contentdisplayed in the display area 136 and an image associated with the userare enlarged and displayed. Further, in response to the operation ofenlarging the display area 136, the display controller 24 reduces thedisplay area 138 of the conversation group 2 by the enlargement. Alongwith this, a remark content displayed in the display area 138 and animage associated with the user are reduced and displayed. The displaycontroller 24 displays the enlarged conversation content of theconversation group 1 and the reduced conversation content of theconversation group 2 on the same screen 132. In addition, when the userperforms an operation (for example, a pinch-in operation) to pinch thedisplay area 136 and the operation is detected, the display controller24 reduces the display area 136 and, in response thereto, enlarges thedisplay area 138 of the conversation group 2.

According to the fifteenth modification, it is possible to enlarge orreduce the conversation contents of some conversation groups in alimited display area.

Further, the display controller 24 may enlarge a display area of aconversation group to which the user A inputs a remark content and, inresponse thereto, may reduce a display area of another conversationgroup. For example, when the user A is inputting a remark content forthe conversation group 1, the display controller 24 enlarges the displayarea 136 of the conversation group 1 and reduces the display area 138 ofthe conversation group 2. When the transmission of the remark content iscompleted, the display controller 24 returns the size of the displayarea 136 to the size before the enlargement and returns the size of thedisplay area 138 to the size before the reduction. Further, when theuser A is inputting the remark content for the conversation group 1, thedisplay controller 24 may display the display area 136 on the entirescreen 132 without displaying the display area 138 on the screen 132.That is, the display area 136 is fully displayed on the screen 132. Whenthe transmission of the remark content is completed, the displaycontroller 24 returns the sizes of the display areas 136 and 138 totheir original sizes. The same applies to a case where a remark contentfor the conversation group 2 is input.

Also, when the enlargement operation or the reduction operation isperformed on the screen 132, the display controller 24 may enlarge orreduce the entire area of the screen 132. This setting may be performedby the user.

Sixteenth Modification

In a sixteenth modification, the display controller 24 scrolls a displayarea according to a user's operation so that information (a characterstring, an image, etc.) that cannot be displayed in the display area canbe displayed on the display unit. At this time, the display controller24 synchronizes the scroll of the conversation contents among pluralconversation groups. That is, when the scroll operation is performed ona display area of a conversation group, the display controller 24scrolls the display area of the conversation group and further scrolls adisplay area of another conversation group displayed on the same screen.Hereinafter, the sixteenth modification will be described in detail withreference to FIG. 23.

FIG. 23 illustrates a screen 132. For example, when the user A performsan operation of scrolling the display area 136 of the conversation group1, as indicated by an arrow 188, and the operation is detected, thedisplay controller 24 scrolls the display area 136 in a directionindicated by an arrow 188. Further, the display controller 24 scrollsthe display area 138 of the conversation group 2, as indicated by anarrow 190, in the same direction as the direction indicated by the arrow188. By doing so, a display area on which the scroll operation is notactually performed is also scrolled, thereby saving the time of thescroll operation by the user.

The scroll amount in the display area 136 on which the scroll operationis actually performed may be the same as or different from the scrollamount in the display area 138 on which the scroll operation is notperformed. This setting may be performed by the user.

Also, the display controller 24 may scroll the display area 136 on whichthe scroll operation has actually been performed but may not scroll thedisplay area 138 on which the scroll operation has not been performed,in response to the scroll operation. The interlock control (synchronouscontrol) or non-interlock control (asynchronous control) may be set bythe user.

In the case where the scrolling operation is performed, when there is anunread message, the display controller 24 may scroll the display area tothe display position of the unread message. Hereinafter, this processwill be described with reference to FIG. 24. FIG. 24 illustrates ascreen 132.

For example, in a case where a scroll operation is performed on thedisplay area 136 of the conversation group 1, when there is an unreadmessage in the conversation group 1, the display controller 24 scrollsthe display area 136 to the display position of the unread message. Forexample, the display controller 24 scrolls the display area 136 so thatthe unread message is displayed at a specific position (for example, thecenter position, the top position, the bottom position, or the like) ofthe display area 136. FIG. 24 illustrates the scrolled display area 136.For example, when a remark content 192 of the user A in the conversationgroup 1 is in an unread state, the display controller 24 scrolls thedisplay area 136 so that the remark content 192 is displayed at aspecific position in the display area 136. When there are plural unreadmessages, the display controller 24 may scroll the display area 136 tothe display position of an unread message transmitted at the oldest dateand time, or may scroll the display area 136 to the display position ofan unread message transmitted at the latest date and time.

When there is an unread message in the conversation group 2 on which thescroll operation has not been performed, the display controller 24 mayscroll the display area 138 of the conversation group 2 to the displayposition of the unread message. FIG. 24 illustrates the scrolled displayarea 138. For example, when a remark content 194 of the user A in theconversation group 2 is in an unread state, the display controller 24scrolls the display area 138 so that the remark content 194 is displayedat a specific position in the display area 138. The process when thereare plural unread messages is the same as the above process for thedisplay area 136.

As described above, by scrolling a display area to the display positionof an unread message, it is possible to save the time taken for the userto search for an unread message. In addition, by scrolling a displayarea on which no scrolling operation has been performed to the displayposition of an unread message, the time of the scroll operation by theuser can be saved.

Seventeenth Modification

In a seventeenth modification, the controller 22 performs duplicationand transfer (copy & paste) of a remark content among pluralconversation groups. The remark content may be a remark contenttransmitted by a user or may be a remark content transmitted by anotheruser.

The seventeenth modification will be described in detail below withreference to FIG. 25. FIG. 25 illustrates a screen 132. For example,when the user A designates the remark content 146 of the user B on thedisplay area 136 of the conversation group 1 and performs an operationof copying it to the conversation group 2, the controller 22 copies theremark content 146 and pastes it on the display area 138 of theconversation group 2 as the remark content of the user A. The copyingoperation is, for example, an operation of sliding the remark content146 in a direction indicated by an arrow 196. When the user A slides theremark content 146 to be copied to the display area 138 of theconversation group 2 of the copy destination, the controller 22 maypaste the remark content 146 in the display area 138. In the exampleillustrated in FIG. 25, the copied remark content 146 is displayed asthe remark content 198 of the user A in the display area 138. The remarkcontent 198 is transmitted to the terminal devices 10 of the users D andE who are logging in to the conversation group 2. The remark content 198may be transmitted to the terminal devices 10 of the users D and E atthe timing when the copying operation is performed. Alternatively, theremark content 198 may be transmitted to the terminal devices 10 of theusers D and E when the user A gives a transmission instruction.

According to the seventeenth modification, it is possible to copy andpaste remark contents among plural conversation groups by a simpleoperation.

When the user A stops the copying operation within the display area 136of the copy source (for example, when the user A stops touching thedisplay area 136), the controller 22 does not copy.

Eighteenth Modification

In an eighteenth modification, the controller 22 adds a user logged into a certain conversation group to another conversation group.

The eighteenth modification will be described in detail below withreference to FIG. 26. FIG. 26 illustrates a screen 132. For example,when the user A designates the image 142 associated with the user B onthe display area 136 of the conversation group 1 and performs anoperation of adding it to the conversation group 2, the controller 22adds the user B to the conversation group 2. The adding operation is,for example, an operation of sliding the image 142 in a directionindicated by an arrow 200. When the user A slides the image 142 of theuser B to be added to the display area 138 of the conversation group 2of the addition destination, the controller 22 may add the user B to theconversation group 2. In the example illustrated in FIG. 26, the image142 associated with the user B is displayed within the display area 138of the conversation group 2, whereby the user B is added to theconversation group 2. That is, the user B has logged in to theconversation group 2.

According to the eighteenth modification, it is possible to add a userlogged in to a certain conversation group to another conversation groupby a simple operation.

When the user A stops the adding operation within the display area 136of the addition source (for example, when the user A stops touching thedisplay area 136 or places an image of a user to be added in a specificdisplay area within the display area 136), the controller 22 does notadd a user.

In the eighteenth modification, when an approval of a user who islogging in to a conversation group to which another user is to be addedis obtained, the other user may be added to the conversation group. Onthe other hand, when the approval is not obtained, the other user neednot be added to the conversation group. For example, when the user Aperforms an operation of adding the user B who is logging in to theconversation group 1 to the conversation group 2, the terminal device10A transmits an approval request to the terminal device 10D of the userD and the terminal device 10E of the user E. In this case, as in thefirst exemplary embodiment, an approval screen (for example, theapproval screen 80 illustrated in FIG. 14) is displayed on the UI units16 of the terminal devices 10D and 10E, and a message asking whether ornot to approve the participation of the user B is displayed on theapproval screen. When the user D approves the participation of the userB (for example, when the user D presses a “Yes” button on the approvalscreen), the terminal device 10D transmits information indicating theapproval to the terminal devices 10A and 10B. When the user D does notapprove the participation of the user B (for example, when the user Dpresses a “No” button on the approval screen), the terminal device 10Dtransmits information indicating no approval to the terminal devices 10Aand 10B. The same applies to the user E.

When an approval is obtained by all users (for example, the users D andE), the user B is added to the conversation group 2. Otherwise, the userB will not be added to the conversation group 2. As another example,when an approval is obtained by a predetermined number of users, or whenan approval is obtained by a specific user (for example, a user havingapproval authority), the user B may be added to the conversation group2.

By requiring an approval as described above, it is possible to reflectthe intention of a user who is logging in to a conversation group towhich the user is to be added.

In addition, when the user B to be added accepts the participation, theuser B is added to the conversation group 2. On the other hand, when theuser B does not accept the participation, the user B need not be addedto the conversation group 2. For example, the terminal device 10Atransmits a participation request to the terminal device 10B of the userB. In this case, as in the first exemplary embodiment, an invitationscreen (for example, the invitation screen 84 illustrated in FIG. 15) isdisplayed on the UI unit 16 of the terminal device 10B, and a messageindicating that the user B is requested to participate in theconversation group 2 is displayed on the invitation screen. When theuser B wishes to participate in the conversation group 2 (for example,when the user B presses a “Yes” button on the invitation screen), theterminal device 10B transmits information indicating the participationto the terminal device 10A. On the other hand, when the user B does notwish to participate in the conversation group 2 (for example, when theuser B presses a “No” button on the invitation screen), the terminaldevice 10B transmits information indicating no participation to theterminal device 10A.

When the user B wishes to participate in the conversation group 2, theuser B is added to the conversation group 2. When the user B does notwish to participate in the conversation group 2, the user B is not addedto the conversation group 2. By doing this, it is possible to reflectthe intention of a user to be added.

Further, when an approval of users (for example, the users D and E) whoare logging in to a conversation group of an addition destination isobtained and a user to be added (for example, the user B) wishes toparticipate in the conversation group, the user to be added may be addedto the conversation group.

Nineteenth Modification

In a nineteenth modification, the display controller 24 displays theconversation contents of plural conversation groups on the same screenin a state of being arranged in the vertical direction. Hereinafter, thenineteenth modification will be described in detail with reference toFIG. 27. FIG. 27 illustrates a screen 132.

The display controller 24 displays the conversation contents of theconversation groups 1 and 2 on the screen 132 in a state where theconversation contents are aligned in a vertical direction of the screen132. For example, the display controller 24 sets display areas 204 and206 in the vertical direction within the screen 132 with a virtual line202 as a boundary, displays the conversation contents of theconversation group 1 in the display area 204, and displays theconversation contents of the conversation group 2 in the display area206. The conversation contents between the users A, B and C logged inthe conversation group 1 are displayed in the display area 204. Theconversation contents between the users A, D and E logged in theconversation group 2 are displayed in the display area 206. When theuser A has logged in to two conversation groups, the virtual line 202 isset, for example, at the center in the vertical direction of the screen132. Also, the display controller 24 may control the size of eachdisplay area by changing the position of the virtual line 202 accordingto the length of a remark content in each conversation group. Forexample, the display controller 24 may change the position of thevirtual line 202 so that the display area of a conversation group havinga longer remark content is wider than the display area of a conversationgroup having a shorter remark content. Further, the display controller24 may change the position of the virtual line 202 according to theamount of the remark content. For example, the display controller 24 maychange the position of the virtual line 202 so that the display area ofa conversation group with more remark contents is wider than the displayarea of a conversation group with fewer remark contents. The displaycontroller 24 may change the position of the virtual line 202 accordingto the operation of the user. The display controller 24 may or may notdisplay the virtual line 202 on the screen 132.

In the example illustrated in FIG. 27, the conversation contents of thetwo conversation groups are displayed on the same screen 132, but theconversation contents of three or more conversation groups may bedisplayed on the same screen 132.

For example, when the user A has logged in to one conversation group(for example, the conversation group 1), the display controller 24displays the conversation content of the conversation group 1 on thevertical screen, as illustrated in FIG. 4. In this situation, when theuser A logs in to another conversation group (for example, theconversation group 2), the display controller 24 aligns the conversationcontents of the conversation groups 1 and 2 in the vertical direction ofthe screen 132.

When the user A performs an operation of scrolling the display area 204of the conversation group 1, as indicated by an arrow 208, and theoperation is detected, the display controller 24 scrolls the displayarea 204 in a direction indicated by the arrow 208. Further, the displaycontroller 24 scrolls the display area 206 of the conversation group 2,as indicated by an arrow 210, in the same direction as the directionindicated by the arrow 208. By doing so, a display area on which thescroll operation is not actually performed is also scrolled, therebysaving the time of the scroll operation by the user.

Also, the display controller 24 may scroll the display area 204 on whichthe scroll operation has actually been performed and, in response to thescroll operation, may not scroll the display area 206 on which thescroll operation has not been performed. The interlock control(synchronous control) or non-interlock control (asynchronous control)may be set by the user.

In the example illustrated in FIG. 27, although the transmission dateand time of the remark content and the read information are notdisplayed, they may be displayed.

Further, as in the sixteenth modification, the display controller 24 mayscroll the display area on which the scroll operation has been performedto the display position of the unread message. The display controller 24may scroll the display area on which the scroll operation has not beenperformed to the display position of the unread message, in response tothe scroll of the display area on which the scrolling operation has beenperformed.

In addition, as in the twelfth modification, the display controller 24may display a conversation content of an active conversation group onthe display unit and may not display a conversation content of aninactive conversation group on the display unit. As in the thirteenthmodification, the display controller 24 may color-code the remarkcontents of different users. As in the fifteenth modification, thedisplay controller 24 may enlarge or reduce the display area of anotherconversation group in response to the enlargement or reduction of adisplay area of a certain conversation group. As in the seventeenthmodification, the controller 22 may copy and paste the remark contentsamong plural conversation groups. As in the eighteenth modification, thecontroller 22 may add a user logged in to a certain conversation groupto another conversation group.

Upon inputting a remark content (for example, a message), the displaycontroller 24 displays an input area 212 on the screen 132, asillustrated in FIG. 28. When the user A inputs a message in the inputarea 212 and instructs transmission of the message, the message input inthe input area 212 is transmitted to a conversation group designated asa transmission destination. For example, when transmitting a remarkcontent to the conversation group 1, the user A designates the displayarea 204 of the conversation group 1. The display controller 24 displaysthe input area 212 on the screen 132 according to the designation. Thedisplay controller 24 may display the input area 212 in the display area204 of the conversation group 1 or may display the input area 212 in thedisplay area 206 of the conversation group 2 which is not thetransmission destination of the remark content. Further, the displaycontroller 24 may display the input area 212 on the screen 132 beyondthe display areas 204 and 206. The setting of the display position anddisplay size of the input area 212 may be performed by the user. When amessage is input in the input area 212 and the transmission of themessage is completed, the display controller 24 does not display theinput area 212. Also, after inputting the message in the input area 212,the user A may designate a conversation group to which the message is tobe transmitted. For example, when the user A moves the input area 212 toa certain display area by an operation such as a flick operation, thecontroller 22 transmits the message to a conversation group associatedwith the display area.

In addition, the display controller 24 may switch between a laterallylong screen (see FIG. 20) and a vertically long screen (see FIG. 27)according to screen switching conditions. The screen switchingconditions may be set by the user or may be predetermined. For example,the display controller 24 may switch between the laterally long screenand the vertically long screen depending on the total size of the screen132, the number of conversation groups in which the user A is loggingin, the number and length of remarks of conversation group per unittime, the number of unread messages per unit time, the number and lengthof remarks in the recent (the time between the present time and the timebefore a predetermined time since the present time), the number of mostrecent unread messages, the total number of remarks, the total length ofremarks, the total number of unread messages, etc. The displaycontroller 24 may switch the screen according to plural conditions. Forexample, the display controller 24 may use the vertically long screenwhen the number of conversation groups to which the user A is logging inis equal to or greater than a predetermined threshold value, and may usethe laterally long screen when the number of conversation groups issmaller than the threshold value. Also, the display controller 24 mayswitch between the laterally long screen and the vertically long screenaccording to an instruction from the user.

Twentieth Modification

In a twentieth modification, the display controller 24 displays an inputarea for inputting a remark content on the screen across the displayareas of plural conversation groups. When the transmission of the remarkcontent is completed, the display controller 24 does not display theinput area and displays the remark content in a display area of aconversation group of a transmission destination. Hereinafter, thetwentieth modification will be described in detail with reference toFIGS. 29 and 30. FIGS. 29 and 30 illustrate a screen 132.

For example, when inputting a remark content (message), the displaycontroller 24 displays an input area 214 on the screen 132, asillustrated in FIG. 29. At this time, the display controller 24 displaysthe input area 214 on the screen 132 across the display area 136 of theconversation group 1 and the display area 138 of the conversation group2. When the user A inputs a message in the input area 214 and instructstransmission of the message, the message is transmitted to the terminaldevice 10 of a user who is logging in to a conversation group designatedas a transmission destination. The designation of the conversation groupof the transmission destination may be performed before the display ofthe input area 214 or after the display of the input area 214. Forexample, when the user A designates the display area 136 of theconversation group 1, the controller 22 identifies the conversationgroup 1 as a conversation group of the transmission destination, and thedisplay controller 24 displays the input area 214 on the screen 132.Subsequently, when the user A inputs a message in the input area 214 andinstructs transmission of the message, the message is transmitted to theterminal devices 10 of the users B and C who are logging in to theconversation group 1, as the remark content of the user A. As anotherexample, when the user A gives a display instruction of the input area214, the display controller 24 displays the input area 214 on the screen132. Subsequently, when the user A inputs a message in the input area214 and designates the conversation group 1 of the transmissiondestination to give a transmission instruction, the message istransmitted to the terminal devices 10 of the users B and C who arelogging in to the conversation group 1, as the remark content of theuser A. For example, when the user A moves the input area 214 into thedisplay area 136 of the conversation group 1 by a flick operation or thelike, the controller 22 transmits the message to the terminal devices 10of the users B and C.

When the message of the user A is transmitted, as illustrated in FIG.30, the message is displayed in the display area 136 in association withthe image 140 of the user A, as a remark content 216 of the user A. Whenthe transmission of the message is completed, the display controller 24does not display the input area 214.

21st Modification

A 21st modification will be described with reference to FIGS. 31 and 32.In the second exemplary embodiment, the conversation contents of twoconversation groups are displayed on the same screen, but theconversation contents of three or more conversation groups may bedisplayed on the same screen. FIGS. 31 and 32 illustrate displayexamples in a case where the number of conversation groups is four.

For example, when the user A is logging in to four conversation groups1, 2, 3 and 4, the display controller 24 sets four display areas 222,224, 226 and 228 by setting a virtual line 218 dividing a screen 132laterally and a virtual line 220 dividing the screen 132 vertically, asillustrated in FIG. 31. For example, the display controller 24 displaysthe conversation content of the conversation group 1 in the display area222, displays the conversation content of the conversation group 2 inthe display area 224, displays the conversation content of theconversation group 3 in the display area 226, and displays theconversation content of the conversation group 4 in the display area228. The sizes of the display areas may be equal to each other or may bedifferent from each other depending on the number and length of remarksof each conversation group. The size of each display area may be changedby the user, or, when a certain display area is enlarged or reduced,another display area may be enlarged or reduced in response thereto.

FIG. 32 illustrates another display example. In this example, thedisplay controller 24 sets four display areas 236, 238, 240 and 242 bysetting a virtual line 230 dividing a screen 132 laterally and virtuallines 232 and 234 dividing the lateral half (for example, the righthalf) of the screen into three areas in the vertical direction. Thedisplay area 236 is wider than the other display areas, and the displayareas 238, 240 and 242 have the same size. For example, the display area236 is used as a main display area in which the conversation content ofa main conversation group designated by the user is displayed. Thedisplay areas 238, 240 and 242 are used as sub display areas in whichthe conversation contents of conversation groups other than the mainconversation group are displayed.

The display controller 24 may change the conversation group displayed inthe main display area 236 according to a priority. The priority isdetermined, for example, depending on the number and length of remarksof conversation group per unit time, the number of unread messages perunit time, the number and length of remarks in the recent (the timebetween the present time and the time before a predetermined time sincethe present time), the number of most recent unread messages, the totalnumber of remarks, the total length of remarks, the total number ofunread messages, etc. For example, the display controller 24 may displaythe conversation content of a conversation group having the largestnumber of recent remarks in the display area 236, or may display theconversation content of a conversation group having the longest recentremark in the display area 236, or may display the conversation contentof a conversation group having the largest number of recent unreadmessages in the display area 236. Further, the display controller 24 maydisplay the conversation content of an active conversation group in thedisplay area 236. Further, the display controller 24 may change the sizeof each of the display areas 238, 240 and 242 according to the priority.

Third Exemplary Embodiment

Hereinafter, an information processing system and a terminal device 10according to a third exemplary embodiment will be described. In thethird exemplary embodiment, the display controller 24 switches betweenthe display control according to the first exemplary embodiment and thedisplay control according to the second exemplary embodiment accordingto the switching conditions. That is, the display controller 24 switchesbetween a screen representing the conversation content of oneconversation group and a screen representing the conversation contentsof plural conversation groups according to the switching conditions.Hereinafter, the process according to the switching conditions will bedescribed in detail.

For example, the display controller 24 may switch the display controlaccording to the number of conversation groups to which the user A islogging in. Specifically, the display controller 24 executes the displaycontrol according to the first exemplary embodiment when the number ofconversation groups to which the user A is logging in is equal to orgreater than a predetermined threshold value, and executes the displaycontrol according to the second exemplary embodiment when the number ofconversation groups to which the user A is logging in is smaller thanthe predetermined threshold value. The threshold value may be changed bythe user.

For example, it is assumed that the threshold value is “3.” When theuser A has logged in to three or more conversation groups (for example,conversation groups 1, 2 and 3), the display controller 24 executes thedisplay control according to the first exemplary embodiment. In otherwords, the display controller 24 changes the screen of a conversationgroup being displayed to the screen of another conversation groupaccording to a changing operation by the user. For example, in the casewhere the screen of the conversation group 1 is displayed on the displayunit, when the changing operation is performed by the user, the displaycontroller 24 changes the screen from the screen of the conversationgroup 1 to the screen of the conversation group 2. On the other hand,when the user A has logging in to two conversation groups (for example,conversation groups 1 and 2), the display controller 24 executes thedisplay control according to the second exemplary embodiment. That is,the display controller 24 displays the conversation contents of theconversation groups 1 and 2 on the same screen.

In the case of displaying the conversation contents of pluralconversation groups on the same screen, as the number of conversationgroups increases, the display area of the conversation content of eachconversation group is narrowed, which makes it hard for the user to seethe conversation content. On the other hand, the smaller the number ofconversation groups is, the wider the display area of each conversationcontent can be. Therefore, even when the conversation contents of theplural conversation groups are displayed on the same screen, theconversation content can be more easily seen for the user than a casewhere the conversation contents of more conversation groups aredisplayed on the same screen. Therefore, when the number of conversationgroups is equal to or larger than the threshold value, by executing thedisplay control according to the first exemplary embodiment, it ispossible to change the screen of each conversation group whilepreventing the conversation content of each conversation group frombecoming invisible to the user. In addition, when the number ofconversation groups is smaller than the threshold value, by executingthe display control according to the second exemplary embodiment, it ispossible to display the conversation contents of the plural conversationgroups in a state easy for the user to see while eliminating a need tochange the screen.

In addition, as a combination of the first exemplary embodiment and thesecond exemplary embodiment, the display controller 24 may change thescreen representing the conversation contents of the plural conversationgroups to a screen representing the conversation contents of otherplural conversation groups according to a changing operation by theuser. This process will be described in detail with reference to FIGS.33 and 34.

A screen 132 is illustrated in FIG. 33, and a screen 244 is illustratedin FIG. 34. For example, it is assumed that the user A has logged in toconversation groups 1, 2, 3 and 4. On the screen 132, the display areas136 and 138 are defined by a virtual line 134. Similarly, on the screen244, the display areas 248 and 250 are defined by a virtual line 246. Asan example, the display area 136 is an area in which the conversationcontent of the conversation group 1 is displayed, the display area 138is an area in which the conversation content of the conversation group 2is displayed, the display area 248 is an area in which the conversationcontent of the conversation group 3 is displayed, and the display area250 is an area in which the conversation content of the conversationgroup 4 is displayed. For example, the display controller 24 maydetermine a display area in which the conversation content of eachconversation group is displayed, according to the order in which theuser A logs in to each conversation group, or the user A may designate adisplay area of each conversation group. Alternatively, the display areaof each conversation group may be determined according to the prioritydescribed in the 21st modification. The size of each display area may bechanged by the user, or may be determined according to a priority, ormay be predetermined.

For example, while the screen 132 is being displayed on the displayunit, when a changing operation is performed by the user, as in thefirst exemplary embodiment, the display controller 24 changes the screenbeing displayed from the screen 132 to the screen 244. By doing so, theuser A may make a conversation with the plural conversation groupswithout performing a screen changing operation. Further, the user A maymake a conversation with other plural conversation groups by performinga simple screen changing operation.

Other Exemplary Embodiments

In the first exemplary embodiment, the screen may be gradually changedaccording to the user's changing operation. This process will bedescribed below with reference to FIGS. 35 to 37. FIGS. 35 to 37illustrate screens displayed on the terminal device 10.

For example, it is assumed that the user A has logged in to theconversation groups 1 and 2. In this case, as illustrated in FIGS. 35 to37, the controller 22 forms a display area 252, sets a virtual line 254in the display area 252, and sets display areas 256 and 258. Thecontroller 22 arranges the conversation contents of the conversationgroup 1 in the display area 256 and arranges the conversation contentsof the conversation group 2 in the display area 258. This arrangementsituation may be, for example, the same as the arrangement situation ofthe conversation contents according to the second exemplary embodiment.

In the examples illustrated in FIG. 35 to FIG. 37, the display area 252is wider than the screen 260 of the terminal device 10. Morespecifically, the lateral width of the display area 252 is wider thanthe lateral width of the screen 260. Therefore, the entire display area252 cannot be displayed at once on the screen 260. In the exampleillustrated in FIG. 35, the display area 256 of the conversation group 1is displayed on the screen 260, and the user A may make a conversationwith the users B and C who are logging in to the conversation group 1.This display state is the same as the display state illustrated in FIG.4. The display area 258 of the conversation group 2 is not displayed onthe screen 260.

In a state where the display area 256 is displayed on the screen 260,when the user A operates the screen 260 in the direction of the displayarea 258 of the conversation group 2 (for example, when the user Aperforms a flick operation or a slide operation in the directionindicated by an arrow 262), the display controller 24 changes thelocation of the display area 252 displayed on the screen 260 accordingto the operation amount. For example, as illustrated in FIG. 36, aportion of the display area 256 and a portion of the display area 258are displayed on the screen 260 according to the operation amount. Inthis manner, the display area 256 of the conversation group 1 and thedisplay area 258 of the conversation group 2 are continuously displayedon the screen 260.

When the user A further operates the screen 260 in the direction of thearrow 262, the display controller 24 changes the location of the displayarea 252 displayed on the screen 260 according to the operation amount.For example, as illustrated in FIG. 37, the entire display area 258 isdisplayed on the screen 260 according to the operation amount. In thisstate, the display area 256 is not displayed on the screen 260.

As described above, the display area of a certain conversation group andthe display area of another conversation group are connected, and anarea displayed on the screen 260 may be continuously changed by theoperation of the user.

In the first to third exemplary embodiments and the modificationsthereof described above, the user's conversation partner is not limitedto a user as a human being, but may be an automatic response artificialintelligence (AI). Some or all of speakers that belong to a conversationgroup may be an automatic response AI. In other words, both another useras human beings and an automatic response AI may belong as speakers to aconversation group (mixture of a user and an automatic response AI), orall speakers may be an automatic response AI.

The automatic response AI has a function of analyzing a remark contentof each user and providing the user with an answer such as a response tothe remark content. The automatic response AI may be a so-calledchat-bot (an automatic conversation program making use of artificialintelligence). The automatic response AI has a learning function byartificial intelligence and may have the ability to make a judgmentclose to a person by its learning function. In addition, neural networktype deep learning may be used, or reinforcement learning or the likewhich partially strengthens the learning field may be used, or geneticalgorithm, cluster analysis, self-organization map, ensemble Learning,etc. may be used. Also, technologies related to artificial intelligenceother than them may be used.

A program related to the automatic response AI may be installed in theterminal device 10 or may be installed in an external device such as theserver 12 to provide the function of the automatic response AI from theexternal device to the terminal device 10.

Each of the terminal device 10 and the server 12 is realized bycooperation of hardware and software as an example. Specifically, eachof the terminal device 10 and the server 12 includes one or pluralprocessors such as a CPU (not shown). When the one or plural processorsread and execute a program stored in a storage device (not shown), thefunctions of the respective units of the terminal device 10 and theserver 12 are realized. The program is stored in the storage device viaa recording medium such as a CD or a DVD, or via a communication pathsuch as a network. As another example, the respective units of theterminal device 10 and the server 12 may be realized by hardwareresources such as a processor, an electronic circuit, an ASIC(Application Specific Integrated Circuit), and the like. A device suchas a memory may be used for its realization. As still another example,the respective units of the terminal device 10 and the server 12 may berealized by a DSP (Digital Signal Processor), an FPGA (FieldProgrammable Gate Array) or the like.

The foregoing description of the exemplary embodiments of the presentinvention has been provided for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit theinvention to the precise forms disclosed. Obviously, many modificationsand variations will be apparent to practitioners skilled in the art. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, therebyenabling others skilled in the art to understand the invention forvarious embodiments and with the various modifications as are suited tothe particular use contemplated. It is intended that the scope of theinvention be defined by the following claims and their equivalents.

What is claimed is:
 1. An information processing apparatus comprising: adisplay device; and a controller that forms a display area on thedisplay device and displays conversation contents of a plurality ofconversation groups making a conversation with a user, on the displayarea, wherein the plurality of conversation groups comprise a firstconversation group and a second conversation group, the controller setsa virtual line in the display area, and sets a first display area and asecond display area, the display area is wider than a screen of thedisplay device, the controller arranges the conversation contents of thefirst conversation group in the first display area and arranges theconversation contents of the second conversation group in the displayarea, the first display area is displayed on the screen of the displaydevice, and the second display area is not displayed on the screen ofthe display device, when receiving an operation in a direction toward tothe second display area in the screen of the display device, thecontroller changes the location of the display area displayed on thescreen according to an operation amount, such that the second displayarea is displayed on the screen of the display device and the firstdisplay area is not displayed on the screen of the display device. 2.The information processing apparatus according to claim 1, wherein theplurality of conversation groups include an active conversation group,and the plurality of conversation groups include no inactiveconversation group.
 3. The information processing apparatus according toclaim 1, wherein the controller arranges remark contents included in theconversation content of the same conversation group on the same straightline and displays the arranged remark contents on the screen.
 4. Theinformation processing apparatus according to claim 3, wherein the samestraight line is a straight line passing central portions of the remarkcontents.
 5. The information processing apparatus according to claim 3,wherein the controller arranges, on the same straight line, therespective remark contents in a conversation group whose longest remarkcontent included in the conversation content is shortest among theplurality of conversation groups and displays the arranged remarkcontents on the screen.
 6. The information processing apparatusaccording to claim 1, wherein the controller controls display of eachremark content so that a speaker who issues a remark content included inan conversation content of a conversation group is identifiable.
 7. Theinformation processing apparatus according to claim 1, wherein thecontroller displays information for identifying a conversation group onthe screen in association with the conversation group.
 8. Theinformation processing apparatus according to claim 1, wherein thecontroller displays information of speakers belonging to a conversationgroup collectively on the screen in association with the conversationgroup.
 9. The information processing apparatus according to claim 1,wherein the controller controls display of a conversation content of oneconversation group included in the plurality of conversation groups inresponse to an operation of a user on a display area of a conversationcontent of another conversation group included in the plurality ofconversation groups.
 10. The information processing apparatus accordingto claim 1, wherein the controller synchronizes scroll of theconversation contents among the plurality of conversation groups. 11.The information processing apparatus according to claim 10, wherein thecontroller scrolls the conversation contents to a display position of anunread remark content.
 12. The information processing apparatusaccording to claim 1, wherein the controller copies remark contentsamong the plurality of conversation groups.
 13. The informationprocessing apparatus according to claim 1, wherein the controller adds aspeaker included in one conversation group of the plurality ofconversation groups to another conversation group of the plurality ofconversation groups.
 14. The information processing apparatus accordingto claim 1, wherein when a remark content is input by a user to oneconversation group included in the plurality of conversation groups, thecontroller displays an area for the input on the screen across a displayarea of a conversation content of the one conversation group and adisplay area of a conversation content of another conversation group.15. The information processing apparatus according to claim 2, whereinwhen a remark content is input by a user to one conversation groupincluded in the plurality of conversation groups, the controllerdisplays an area for the input on the screen across a display area of aconversation content of the one conversation group and a display area ofa conversation content of another conversation group.
 16. Theinformation processing apparatus according to claim 3, wherein when aremark content is input by a user to one conversation group included inthe plurality of conversation groups, the controller displays an areafor the input on the screen across a display area of a conversationcontent of the one conversation group and a display area of aconversation content of another conversation group.
 17. The informationprocessing apparatus according to claim 4, wherein when a remark contentis input by a user to one conversation group included in the pluralityof conversation groups, the controller displays an area for the input onthe screen across a display area of a conversation content of the oneconversation group and a display area of a conversation content ofanother conversation group.
 18. The information processing apparatusaccording to claim 5, wherein when a remark content is input by a userto one conversation group included in the plurality of conversationgroups, the controller displays an area for the input on the screenacross a display area of a conversation content of the one conversationgroup and a display area of a conversation content of anotherconversation group.
 19. The information processing apparatus accordingto claim 14, wherein when transmission of the remark content iscompleted, the controller displays the remark content in the displayarea of the conversation content of the one conversation group.
 20. Anon-transitory computer readable medium storing a program that causes acomputer to execute information processing, the information processingcomprising: forms a display area on a display device; displayingconversation contents of a plurality of conversation groups making aconversation with a user, on the display area, wherein the plurality ofconversation groups comprise a first conversation group and a secondconversation group, setting a virtual line in the display area, andsetting a first display area and a second display area, wherein thedisplay area is wider than a screen of the display device; arranging theconversation contents of the first conversation group in the firstdisplay area and arranging the conversation contents of the secondconversation group in the display area, wherein the first display areais displayed on the screen of the display device, and the second displayarea is not displayed on the screen of the display device; and whenreceiving an operation in a direction toward to the second display areain the screen of the display device, changing the location of thedisplay area displayed on the screen according to an operation amount,such that the second display area is displayed on the screen of thedisplay device and the first display area is not displayed on the screenof the display device.